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

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
guillaume
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mar. 28 août 2007 12:13
Status : Hors ligne

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

#1

Message 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 !
Modifié en dernier par guillaume le lun. 23 déc. 2013 14:50, modifié 1 fois.
Avatar du membre
franco
Niveau 7
Niveau 7
Messages : 343
Enregistré le : lun. 03 oct. 2011 22:37
Localisation : Liévin
Status : Hors ligne

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

#2

Message 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


@++
L'entraide, c'est mon dada ;)
guillaume
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mar. 28 août 2007 12:13
Status : Hors ligne

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

#3

Message 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
guillaume
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mar. 28 août 2007 12:13
Status : Hors ligne

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

#4

Message 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 :/
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

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

#5

Message 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.
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

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

#6

Message par jguinch »

vraiment en mode bricolage, voilà un petit truc qui pourrait aller :
► Afficher le texte
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

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

#7

Message 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
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
guillaume
Niveau 4
Niveau 4
Messages : 68
Enregistré le : mar. 28 août 2007 12:13
Status : Hors ligne

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

#8

Message par guillaume »

merci pour votre travail ! je vais voir ce que ça donne dans mon script
Répondre