[R] Renvoyer le nombre de fichiers présents dans un dossier

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
x0r
Niveau 2
Niveau 2
Messages : 23
Enregistré le : jeu. 17 avr. 2008 16:57
Status : Hors ligne

[R] Renvoyer le nombre de fichiers présents dans un dossier

#1

Message par x0r »

Bonjour à toutes et à tous,

Mon premier post reste sans réponse, mais j'aurai une autre question, qui pour le moment reste sans solution malgré mes recherches :

Est-il possible de renvoyer le nombre de fichiers que contient un dossier ?
J'aimerai, si c'est fonction existe, l'utiliser pour faire tourner une boucle autant de fois qu'il y a de fichiers.

Merci
Modifié en dernier par x0r le mer. 23 avr. 2008 15:10, modifié 1 fois.
Avatar du membre
tofu
Niveau 3
Niveau 3
Messages : 30
Enregistré le : mar. 15 avr. 2008 14:48
Status : Hors ligne

Re: [..] Renvoyer le nombre de fichiers présents dans un dossier

#2

Message par tofu »

Bonjour,

Je ne sais pas si il est possible d'avoir cela directement par une fonction. Cependant, personnellement j'utilise la fonction _FileListToArray() qui permet de récupérer la liste des fichiers(et/ou dossiers) d'un dossier cible. Le tableau généré par cette fonction contient dans sa première case (la case d'index 0) le nombre de fichiers(et/ou dossiers).

Code : Tout sélectionner

#Include <File.au3>
#Include <Array.au3>

$dossier = @DesktopDir ; Je prends le bureau comme exemple de dossier

$listeFichiers = _FileListToArray($dossier,"*",0)
; 1er paramètre - Chemin du dossier cible
; 2ème paramètre - Filtre pour capturer si l'on veut certains noms de fichiers/dossiers, ici l'étoile sert à tout capturer
; 3ème paramètre - 0: Fichiers + dossiers - 1: Fichiers - 2: Dossiers

$nbFic = $listeFichiers[0]

ConsoleWrite("Nombre de fichiers/dossiers pour le dossier: " & $dossier & @CRLF & "-- " & $nbFic & @CRLF)

Du coup outre le nombre de fichiers, si tu veux bosser sur chaque fichier par exemple, il suffit de faire un "For <element> IN <le tableau des fichiers>" pour travailler sur chacun d'eux (c'est l'équivalent du "for each" des autres langages)

Cordialement,
L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Renvoyer le nombre de fichiers présents dans un dossier

#3

Message par ani »

Il existe aussi une autre fonction DirGetsize qui permet en autre de connaitre le nombre de fichier dans un dossier. (voir l'aide)

Pour ton premier post Xor, je ne serait y répondre, pourtant ton sujet m'interresse (comme bcp d'autre post) mais voilà ayant un problème cérébral, je n'arrive plus à rien et pourtant je m'efforce mais bon ...
Avatar du membre
tofu
Niveau 3
Niveau 3
Messages : 30
Enregistré le : mar. 15 avr. 2008 14:48
Status : Hors ligne

Re: [..] Renvoyer le nombre de fichiers présents dans un dossier

#4

Message par tofu »

Ah oui, au temps pour moi, il me semblait que DirGetSize() ne permettait de retourner que la taille en octet...

Cordialement,
L'informatique, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Renvoyer le nombre de fichiers présents dans un dossier

#5

Message par ani »

La fonction DirgetSize ne fonctionne pas chez moi, enfin bon, je dois surement mi prendre mal ;)
je préfere la fonction que tu viend de citer _FileListToArray (plus efficace) .
x0r
Niveau 2
Niveau 2
Messages : 23
Enregistré le : jeu. 17 avr. 2008 16:57
Status : Hors ligne

Re: [..] Renvoyer le nombre de fichiers présents dans un dossier

#6

Message par x0r »

Merci à vous pour toutes ces réponses, je vais essayer _FileListToArray() ; effectivement j'avais vu la fonction DirGetSize(), mais d'après l'aide cette fonction ne retourne que la taille d'un répertoire donné.

P.S :
mais voilà ayant un problème cérébral, je n'arrive plus à rien et pourtant je m'efforce mais bon ...
aucune excuse n'est à fournir Ani ^^
Répondre