J'espérais pouvoir utiliser le
tree /F /A > "desktop"\file.txt
pour afficher uniquement les fichiers texte. Actuellement tel quel, il génère chaque extension de fichier.
Quelqu'un connaît-il un moyen facile de le faire?
Tree
n'accepte que quelques paramètres de ligne de commande:
c:\>Tree /?
Graphically displays the folder structure of a drive or path.
TREE [drive:][path] [/F] [/A]
/F Display the names of the files in each folder.
/A Use ASCII instead of extended characters.
Aucun des paramètres indiqués n'est un masque de fichier ou un filtre.
Vous pouvez utiliser dir
avec les commutateurs appropriés et rediriger la sortie vers un fichier texte. Vous obtiendrez le nom complet du chemin d'accès aux fichiers, mais vous pouvez le filtrer lors d'un traitement ultérieur si nécessaire avec une boucle for
:
C:\>dir *.txt /s /b > filelist.txt
En fait, il n'est pas si difficile d'obtenir la sortie TREE souhaitée à l'aide des expressions régulières FINDSTR. :-)
tree /f /a | findstr /ri /c:"^[^| ]" /c:"^[| ]*[+\\]" /c:"\.txt$"
Remarque: cette commande tree
ne trie pas la sortie par nom!
Au lieu de cela, vous pouvez utiliser cette approche:
dir /b /s /ad /on c:\ > c:\file.txt
Le résultat ressemble moins à Nice mais
Autre option simple: allez dans le répertoire que vous souhaitez lister, saisissez CMD pour être déjà au bon endroit, puis:
tree/a /f>"output.doc "
Cela le mettra dans un document Word, plus facile à modifier et à formater à partir de là.