Page 1 sur 1
[R] Lister le contenu d'un dossier
Posté : jeu. 29 mars 2012 09:02
par ric025
Bonjour.
Je cherche à lister le contenu d'un dossier dans un .txt afin de l'exploiter par la suite ?
Partout où je cherche, on me renvoie vers un listage dans un tableau avec les fonctions "Array".
Le soucis c'est que je ne veux pas afficher le contenu, juste l'écrire dans un texte et me servir des lignes trouvées.
Merci.
Re: [..] Lister le contenu d'un dossier
Posté : jeu. 29 mars 2012 09:18
par mikell
Directement extrait du fichier d'aide...
Code : Tout sélectionner
$search = FileFindFirstFile(@desktopdir & "\mon_dossier\*.*")
$txt = ""
While 1
$file = FileFindNextFile($search)
If @error Then ExitLoop
$txt &= $file & @CRLF
WEnd
FileClose($search)
FileWrite("liste.txt", $txt)
Re: [..] Lister le contenu d'un dossier
Posté : jeu. 29 mars 2012 10:38
par ric025
Salut.
Merci mais ça marche pas.
J'avais déjà essayé suivant le fichier d'aide et
FileFindNextFile. Là, j'ai retransposé ton exemple comme ceci :
Code : Tout sélectionner
$doss = FileFindFirstFile(@programfilesdir & "\*.*")
$txt = ""
While 1
$fichier = FileFindNextFile($doss)
If @error Then ExitLoop
$txt &= $fichier & @CRLF
WEnd
FileClose($doss)
FileWrite("Test.txt", $txt)
Ce qui me donne ça :
http://ric025.jimdo.com/app/download/55 ... 1333009938
++
Re: [..] Lister le contenu d'un dossier
Posté : jeu. 29 mars 2012 13:51
par mikell
Je n'ai pas pu voir ton image (le lien ne marche pas) mais chez moi ton code fonctionne en l'état et me liste bien les fichiers et dossiers dans Program Files (pas les sous-dossiers, pour ça il faut utiliser FileListToArray)
Re: [..] Lister le contenu d'un dossier
Posté : jeu. 29 mars 2012 15:12
par ric025
Re.
Le lien est ici mais il reste inactif posté comme ça : [
http://ric025.jimdo.com/dépôt-docs/]
En fait y'a "Program Files" qui s'inscrit à répétition dans le .txt

Re: [..] Lister le contenu d'un dossier
Posté : jeu. 29 mars 2012 15:32
par mikell
En effet c'est spectaculaire
Mais très strange, chez moi ton code marche très bien
Essaye ça pour voir
Code : Tout sélectionner
$doss = FileFindFirstFile(@programfilesdir & "\*.*")
$txt = ""
While 1
$fichier = FileFindNextFile($doss)
If @error Then ExitLoop
$txt &= $fichier & @CRLF
$fichier = ""
Sleep(10)
WEnd
FileClose($doss)
FileWrite("Test.txt", $txt)
Et si ça merdoie encore, essaie avec une adresse littérale de dossier (sans macro)
Re: [..] Lister le contenu d'un dossier
Posté : jeu. 29 mars 2012 15:36
par ric025
J'ai testé sans macro et ça a marché.
Puis j'ai remis ma macro et .... ça marche
Pour te dire, ça fait quand même 2 jours que j'ai tapé mon code avec ce fameux
FileFindNextFile et que ça me donnait ce résultat ... A n'y rien comprendre, en tout cas, pour ma part, j'arrête de chercher le pourquoi du comment
Je te remercie pour l'aide
