Se déplacer dans un répertoire

cs_cacal Messages postés 1 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 10 juillet 2003 - 10 juil. 2003 à 10:45
cs_doct Messages postés 12 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 16 juillet 2003 - 10 juil. 2003 à 11:07
CacalVoila, je dois regarder toutes les informations de tous les fichiers d'un dossier.
Mais je ne connais pas le nom des fichiers.
Donc je voudrais savoir si c'est possible de, par exemple, d'abord compter le nombre de fichiers du répertoire, puis à l'aide d'une boucle faire un truc du style:

for i=1 to N do
infos= fichier i.datecreated 'par exemple
next i

Je me doute que ça ça ne peut marcher mais je vois pas du tout comment faire donc si qqun pouvait m'aider, ce serait bien sympa.

Merci d'avance

2 réponses

Mooiz Messages postés 128 Date d'inscription mercredi 25 juin 2003 Statut Membre Dernière intervention 8 juillet 2005
10 juil. 2003 à 11:06
y a beaucoup plus simple avec les filesystemobject :

dim FSO
dim fich
dim rep

Set FSO = CreateObject("Scripting.FileSystemObject")
Set rep = FSO.GetFolder("ton repertoire")

for each fich in rep.files
'tes operations
next
'si il y a des sous repertoires tu y accedes avec rep.subfolders
'-> tu peux faire un appelle recursif genre :
for each rep2 in rep.subfolders
fonction(rep2)
next

et voila comme ca tu as parcouru tous tes fichiers

NB : je ne crois pas que ce soit necessaire mais si il ne reconnait pas certains types tu peux activer le microsft scripting runtime dans projet->references
0
cs_doct Messages postés 12 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 16 juillet 2003
10 juil. 2003 à 11:07
pour récupérer le nom de chaque fichier d'un répertoire c'est très simple :

dim sTmp as string 'la variable qui va contenir le nom de chaque fichier

sTmp = dir("TON_REPERTOIRE",TYPE_DE_FICHIER)

la fonction Dir(), lorsqu'elle est appelée une première fois avec, au moins comme paramètre le nom du répertoire, te renvoie le premier fichier trouvé dans ce répertoire.
Les différents types de fichier te seront proposés.
Ensuite, pour récupérer les fichiers suivants, il te suffit d'appeler la fonction Dir() de cette manière :

sTmp = Dir()

cette fois ci, plus besoin de spécifier les paramètres.
lorsque la fonction renvoie une chaîne de longueur 0, c'est qu'elle a fini de te renvoyer les fichiers du répertoire spécifié la première fois.

dans ton cas, je ferais :

'un première fois
sTmp = Dir("TON_REPERTOIRE",TYPE_DE_FICHIER)

'ici j'effectue l'opération sur ce fichier
...

'je fais une boucle pour récupérer le reste des fichiers
do

sTmp = Dir()

'je vérifie que la chaîne renvoyér contient quelque chose, sinon, je quitte la boucle
if sTmp = "" then Exit Do

'j'effectue l'opération sur le fichier
...

loop

Voilà.
j'espère avoir été clair ;)
0
Rejoignez-nous