Bonjour,
J'ai fait un petit script destiné à nettoyer les copies mise en cache des profils itinérants.
En clair les dossiers superflus dans documents and settings, qui peuvent s'accumuler au fil du temps sur les stations du réseau.
voici le code:
► Afficher le texte
#Include <File.au3>
#include <Array.au3>
$Profilspath = StringTrimRight(@UserProfileDir, StringLen(@UserName))
$Filter = "*"
$Profilname = @username
;suppression des répertoires superflux de documents and setting
; on enlève tout sauf administrateur, all users, default users , admin, raip et le répertoire de l'utilisateur courant.
$FolderList=_FileListToArray($ProfilsPath,$Filter,2)
If @Error=1 Then
MsgBox (0,"","pas de dossier trouvé")
Exit
EndIf
;MsgBox(0,"test",$profilname)
For $i = 1 to $FolderList[0]
If $FolderList[$i] <> "Administrateur"And $FolderList[$i]<> $Profilname And $FolderList[$i] <> "All Users" And $FolderList[$i] <> "Default User" And $FolderList[$i] <> "admin" And $FolderList[$i] <> "raip" Then
DirRemove ($ProfilsPath&"\"&$FolderList[$i],1)
EndIf
Next
Donc, je fait un tableau $Folderlist qui contient la liste de tous les dossiers trouvés dans documents and settings
et pour chaque dossier, je test si le nom est différents d'un certains nombre de dossiers que je ne veut pas supprimer (l'utilisateur courant, default user, all users ,admin, administrateur etc...)
La question:
Plutôt que d'avoir une longue ligne:
Code : Tout sélectionner
If $FolderList[$i] <> "Administrateur"And $FolderList[$i]<> $Profilname And $FolderList[$i] <> "All Users" And $FolderList[$i] <> "Default User" And $FolderList[$i] <> "admin" And $FolderList[$i] <> "raip" Then
J'aimerais par exemple créer un second tableau contenant tous les dossiers à conserver et faire une boucle qui vienne comparer $FolderList[$i] avec chacun des éléments du tableau et qui m'indique si il est différent de chacun.
Mais je ne vois pas comment faire ça d'une manière simple.
Merci pour vos avis et suggestions.