Page 1 sur 1

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

Posté : mer. 23 avr. 2008 11:36
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

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

Posté : mer. 23 avr. 2008 11:57
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,

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

Posté : mer. 23 avr. 2008 12:15
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 ...

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

Posté : mer. 23 avr. 2008 12:33
par tofu
Ah oui, au temps pour moi, il me semblait que DirGetSize() ne permettait de retourner que la taille en octet...

Cordialement,

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

Posté : mer. 23 avr. 2008 12:49
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) .

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

Posté : mer. 23 avr. 2008 14:00
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 ^^