[VBS] Cherche les dossiers contenant le mot "Citrix"

Cherche les dossiers contenant le mot "Citrix" [VBS] - VB/VBA/VBS - Programmation

Marsh Posté le 04-08-2008 à 15:37:23    

Bonjour,
 
Pour un besoin spécifique, nous avons dans le profile de l'utilisateur un dossier de type: Citrix17X18V. Chaque utilisateur à un nom de dossier différent mais commencant toujours par "Citrix".
 
Je recherche un script pour pouvoir me faire cette recherche. J'ai trouvé un script qui permet de faire une recherche. Ca fonctionne quand le nom du dossier se nomme excatement Citrix. Sauf que dans ma situation les dossiers commencent par Citrix mais la suite est aléatoire.
Merci de votre aide
 

Set fso = CreateObject("Scripting.FileSystemObject" )
dossier_a_chercher = "citrix"
cherche_dossier fso.GetFolder("C:\\scripts" ), dossier_a_chercher
 
' Rechercher un dossier
Sub cherche_dossier(un_dossier, dossier_a_chercher)
    For Each un_sousdossier In un_dossier.SubFolders
       If (un_sousdossier.name = dossier_a_chercher) Then
          supp_dans_dossier un_sousdossier
       End If
       cherche_dossier un_sousdossier, dossier_a_chercher
    Next
End Sub
 
' Supprimer le contenu d'un dossier
Sub supp_dans_dossier(un_dossier)
    ' Supprimer les sous-répertoires
    For Each sf1 in un_dossier.SubFolders
       If (MsgBox("Voulez-vous supprimer " & sf1.Path & " ?", 1) = 1) Then
          fso.DeleteFolder(sf1.Path)
       End If
    Next
    ' Supprimer les fichiers
    For Each f1 in un_dossier.Files
       If (MsgBox("Voulez-vous supprimer " & f1.Path & " ?", 1) = 1) Then
          fso.DeleteFile(f1.Path)
       End If
    Next
End Sub

Reply

Marsh Posté le 04-08-2008 à 15:37:23   

Reply

Marsh Posté le 04-08-2008 à 15:48:46    

est ce que ca marche avec cette modification ?
 
Set fso = CreateObject("Scripting.FileSystemObject" )
dossier_a_chercher = "citrix"
cherche_dossier fso.GetFolder("C:\\scripts" ), dossier_a_chercher
 
' Rechercher un dossier
Sub cherche_dossier(un_dossier, dossier_a_chercher)
    For Each un_sousdossier In un_dossier.SubFolders
       If (mid(un_sousdossier.name,1,6) = dossier_a_chercher) Then
          supp_dans_dossier un_sousdossier
       End If
       cherche_dossier un_sousdossier, dossier_a_chercher
    Next
End Sub
 
' Supprimer le contenu d'un dossier
Sub supp_dans_dossier(un_dossier)
    ' Supprimer les sous-répertoires
    For Each sf1 in un_dossier.SubFolders
       If (MsgBox("Voulez-vous supprimer " & sf1.Path & " ?", 1) = 1) Then
          fso.DeleteFolder(sf1.Path)
       End If
    Next
    ' Supprimer les fichiers
    For Each f1 in un_dossier.Files
       If (MsgBox("Voulez-vous supprimer " & f1.Path & " ?", 1) = 1) Then
          fso.DeleteFile(f1.Path)
       End If
    Next
End Sub


Message édité par 86vomito33 le 04-08-2008 à 15:49:53
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed