[R] DirGetSize avec extention de fichier uniquement

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 400
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

[R] DirGetSize avec extention de fichier uniquement

#1

Message par scorp84 »

Bonjour à tous,

J'ai développé un programme de sauvegarde de fichiers et pour le rapport de sauvegarde, j'ai besoin d'avoir une fonction équivalente à DirGetSize() mais pour laquelle je puisse définir une extension pour ne comparer que les fichiers dont les extensions correspondent à ce qui a été demandé pour la sauvegarde.

Exemple :
Sauvegarde de c:\tmp\*.doc vers c:\tmp2

Si on prend cet exemple, dans mon rapport, je veux afficher la taille et le nombre des fichiers .doc sur la source (c:\tmp) et sur la destination après sauvegarde (c:\tmp2 ) pour vérifier que la sauvegarde s'est bien déroulée.

J'ai développé la fonction suivante :
► Afficher le texte
J'ai utilisé _FileListToArray3() car c'est la seule fonction de recherche (http://autoitscript.fr/forum/viewtopic.php?f=6&t=479) qui me sort la même chose que la fonction DirGetSize().

Par contre, j'ai des temps de recherche (Ex. : C:\) qui sont parfois 24 x plus longs avec ma fonction (boucle d'addition des taille oblige :-(

Auriez-vous une idée pour l'optimiser ?

Merci d'avance.

Amicalement.

BM
Modifié en dernier par scorp84 le mar. 22 avr. 2014 11:16, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] DirGetSize avec extention de fichier uniquement

#2

Message par jguinch »

Mon idée serait de lister tous les fichiers et calculer la taille dans le même temps, pour éviter de se taper deux fois la boucle...

Histoire de réinventer la roue, je m'étais bricolé ma propre fonction pour lister les fichiers, répertoires et sous-répertoires sans utiliser de fonction récursive.
J'ai donc fait une version modifiée de ma fonction pour essayer de répondre à ton besoin (qui pourrait être le mien aussi, d'ailleurs :D )
► Afficher le texte

Edit : et donc du coup j'ai réinventé la roue encore une fois : http://www.autoitscript.com/forum/topic ... getsizeex/ - mais la mienne est largement plus rapide (et n'utilise pas de fonction récursive) :P
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 400
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

Re: [..] DirGetSize avec extention de fichier uniquement

#3

Message par scorp84 »

Excellent (comme d'hab ;-)

Merci beaucoup.

Amicalement.

BM
lesolutionneur
Niveau 7
Niveau 7
Messages : 368
Enregistré le : ven. 09 déc. 2011 11:25
Status : Hors ligne

Re: [R] DirGetSize avec extention de fichier uniquement

#4

Message par lesolutionneur »

Quel est l'intérêt de ne pas utiliser de fonction récursive ? :O
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] DirGetSize avec extention de fichier uniquement

#5

Message par jguinch »

@lesolutionneur : l'intérêt est de s'affranchir d'une limite de la récursivité (que SmOke_N évoque justement dans le topic cité précédemment).
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Répondre