Liste des répertoires récursifs sous DOS

201

Comment obtenir une liste de répertoires récursive sous DOS?

Je recherche une commande ou un script sous DOS qui peut me donner la liste récursive du répertoire similaire à la ls -Rcommande sous Unix.

StarDotStar
la source

Réponses:

361

Vous pouvez utiliser:

dir /s

Si vous avez besoin de la liste sans toutes les informations d'en-tête / pied de page, essayez ceci:

dir /s /b

(Bien sûr, cela fonctionnera pour DOS 6 et versions ultérieures; peut avoir fonctionné avant cela, mais je ne me souviens pas.)

Michael Todd
la source
7
+1 très pratique. Si vos répertoires contiennent de nombreux fichiers, cette commande les fera défiler à l'écran trop rapidement pour être lus. Je pense qu'il est préférable de diriger la sortie de cette commande vers un fichier txt que vous pouvez lire à votre propre vitesse. Par exemple (en supposant que le répertoire c: \ temp est créé): dir C: \ / s> C: \ temp \ CDirectoryListing.txt
Steven Magana-Zook
Vous, monsieur, êtes vraiment génial! Ça a marché comme sur des roulettes! Je l'ai utilisé au travail (où nous sommes obligés d'avoir des machines Windows) avec gVIM! Vraiment, vraiment bien! Tu m'as sauvé des heures de maux de tête!
Walialu
Pour une raison quelconque, il imprime le chemin absolu complet avec le dossier C: \ devant lorsque vous utilisez / S et / B, est-ce évitable? Je veux seulement le nom de fichier relatif.
lama12345
2
Oui, fonctionne parfaitement avec Rechercher / Remplacer "C: / dossier" et remplacer par "".
lama12345
22
Juste pour ajouter: tree /fdonne un affichage agréable à l'œil :-)
arun
25

dir /s /b /a:d>output.txt le portera dans un fichier texte

Tribrach
la source
23

Vous pouvez obtenir les paramètres que vous demandez en tapant:

dir /?

Pour la liste complète, essayez:

dir /s /b /a:d
Fortius
la source
3

Vous pouvez utiliser diverses options avec FINDSTR pour supprimer les lignes dont vous ne voulez pas, comme ceci:

DIR /S | FINDSTR "\-" | FINDSTR /VI DIR

La sortie normale contient des entrées comme celles-ci:

28-Aug-14  05:14 PM    <DIR>          .
28-Aug-14  05:14 PM    <DIR>          ..

Vous pouvez les supprimer en utilisant les différentes options de filtrage proposées par FINDSTR. Vous pouvez également utiliser les excellents unxutils, mais il convertit la sortie en UNIX par défaut, de sorte que vous n'obtenez plus CR + LF; FINDSTR offre la meilleure option Windows.

Zeinab Qureshi
la source
Agréable! Mon exigence supplémentaire est de compter toutes les lignes, ce qui est fait avec dir /s /b | find /v /c "".
domih
3

J'aime utiliser ce qui suit pour obtenir une liste bien triée du répertoire actuel:

> dir . /s /b sortorder:N
Amour et paix - Joe Codeswell
la source