Page 1 sur 1

[R] Lister dossiers d'un répertoire dans un txt

Posté : mer. 04 déc. 2013 15:15
par guillaume
Bonjour à tous

Je cherche un moyen pour lister tous les dossiers et sous dossiers d'un répertoire.
par contre je ne veux pas les fichiers (ça je l'ai fait mais ça n'est pas bon pour les répertoires car du coup ça me fait plusieurs lignes avec les mêmes répertoires. )


Concraitement j'ai :

répertoire principal
.dossier1
.dossier2
.dossier3
..sous-dossier1
...utilisateur
..sous-dossier2


et je cherche à avoir la liste de la manière suivante :

répertoire principal\dossier1
répertoire principal\dossier2
répertoire principal\dossier3
répertoire principal\dossier3\sous-dossier1
répertoire principal\dossier3\sous-dossier1\utilisateur
répertoire principal\dossier3\sous-dossier2


avec si possible le moyen de choisir le niveau max de sous-dossiers que je veux afficher
1 pour répertoire principal
2 répertoire principal\dossier1
répertoire principal\dossier2
répertoire principal\dossier3
3 encore le niveau du dessous
...

merci pour votre aide !

Re: [..] Lister dossiers d'un répertoire dans un txt

Posté : mer. 04 déc. 2013 19:39
par franco
Salut ;)


Il y a une commande pour cela : _FileListToArray

http://www.autoitscript.com/autoit3/doc ... oArray.htm
$iFlag [optional] specifies whether to return files folders or both
$iFlag=0(Default) Return both files and folders
$iFlag=1 Return files only
$iFlag=2 Return Folders only
Par contre, l'exemple peut t'aider à comprendre la chose ;)

Code : Tout sélectionner

#include <File.au3>
#include <Array.au3>

Local $FileList = _FileListToArray(@DesktopDir)
If @error = 1 Then
    MsgBox(0, "", "No Folders Found.")
    Exit
EndIf
If @error = 4 Then
    MsgBox(0, "", "No Files Found.")
    Exit
EndIf
_ArrayDisplay($FileList, "$FileList")

Mais si tu cherches la récursivité, regarde ceci, cela va surement t'aider : http://autoitscript.fr/forum/viewtopic.php?f=6&t=479

Personnellement, je préfère celle là : FileListToArrayNT


@++

Re: [..] Lister dossiers d'un répertoire dans un txt

Posté : jeu. 05 déc. 2013 10:07
par guillaume
ok merci j'ai testé la première fonction, c'est ok mais ça ne me remonte pas les sous dossiers effectivement

Pour la 2ième j'ai bien toute l'arborescence !

je vais chercher maintenant comment choisir le niveau de détail souhaité sur le niveau de sous-dossiers

Re: [..] Lister dossiers d'un répertoire dans un txt

Posté : jeu. 05 déc. 2013 10:58
par guillaume
possiblité envisageable mais peut être un peu tordue , je compte les "\" dans une nouvelle colonne
par exemple pour c:\test il y a 1 "\" donc j'affiche 1
pour c:\test\dossier il y a 2 "\" donc j'affiche 2


Mais je ne pense pas que ce soit la meilleur solution :/

Re: [..] Lister dossiers d'un répertoire dans un txt

Posté : lun. 09 déc. 2013 19:47
par DimVar
Bonsoir,

Sachant que le caractère "\" est interdit dans un nom de fichier et de dossier, je pense au contraire que ce n'est pas une si mauvaise solution.

Cdlt.

Re: [..] Lister dossiers d'un répertoire dans un txt

Posté : lun. 09 déc. 2013 21:40
par jguinch
vraiment en mode bricolage, voilà un petit truc qui pourrait aller :
► Afficher le texte

Re: [..] Lister dossiers d'un répertoire dans un txt

Posté : mar. 10 déc. 2013 00:12
par mikell
jguinch c'est quoi ce truc incroyable ? :shock:

Sur un mode plus classique, en reprenant la bonne idée de compter les "\" pour définir le niveau de récursivité :
► Afficher le texte

Re: [..] Lister dossiers d'un répertoire dans un txt

Posté : mar. 10 déc. 2013 17:05
par guillaume
merci pour votre travail ! je vais voir ce que ça donne dans mon script