[R] optimisation de script

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
fred39
Niveau 4
Niveau 4
Messages : 64
Enregistré le : lun. 05 mai 2008 10:03
Status : Hors ligne

[R] optimisation de script

#1

Message par fred39 »

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
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.
Modifié en dernier par fred39 le mer. 20 avr. 2011 12:18, modifié 1 fois.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [...] optimisation de script

#2

Message par sylvanie »

Bonjour,
Et bien je procéderait plutôt de la sorte :
j'établie comme fait dans le script, la liste des répertoires

Code : Tout sélectionner

$FolderList=_FileListToArray($ProfilsPath,$Filter,2)
 
Puis au lieu de comparer chaque répertoire à une liste à sauter, je parcourrai $FolderList pour lui enlever la liste de ces répertoires.
Une fois que $FolderList ne les contient plus, on peut tout effacer en le parcourant sans faire d'autres tests

Bilan si on a 5 répertoires à esquiver, on n'aura que 5 recherches à faire dans le tableau principal + redimensionnements.

Pour la recherche des positions, j'utiliserai _ArraySearch puis _ArrayDelete pour enlever l'élément en question.
Attention, comme _ArrayDelete Redimensionne le tableau dans la fouler, il faut chercher les index un par un pour les supprimer dans le même tous de boucle, sinon au premeir _ArrayDelete, les autres index seront décalés d'une position et ainsi de suite >_<'
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
Avatar du membre
fred39
Niveau 4
Niveau 4
Messages : 64
Enregistré le : lun. 05 mai 2008 10:03
Status : Hors ligne

Re: [R] optimisation de script

#3

Message par fred39 »

Merci beaucoup
mon script devient:
► Afficher le texte
Répondre