Rekursive Verzeichnisliste unter DOS


201

Wie erreichen wir eine rekursive Verzeichnisliste unter DOS?

Ich suche nach einem Befehl oder einem Skript unter DOS, das mir die rekursive Verzeichnisliste ähnlich dem ls -RBefehl unter Unix geben kann.

Antworten:


361

Sie können verwenden:

dir /s

Wenn Sie die Liste ohne alle Kopf- / Fußzeileninformationen benötigen, versuchen Sie Folgendes:

dir /s /b

(Dies wird sicher unter DOS 6 und höher funktionieren. Möglicherweise hat es vorher funktioniert, aber ich kann mich nicht erinnern.)


7
+1 sehr praktisch. Wenn Ihre Verzeichnisse viele Dateien enthalten, werden sie mit diesem Befehl zu schnell auf dem Bildschirm angezeigt, um gelesen zu werden. Ich denke, es ist am besten, die Ausgabe dieses Befehls in eine txt-Datei zu leiten, die Sie mit Ihrer eigenen Geschwindigkeit lesen können. Zum Beispiel (vorausgesetzt, das Verzeichnis c: \ temp wird erstellt): dir C: \ / s> C: \ temp \ CDirectoryListing.txt
Steven Magana-Zook

Sie, Sir, sind wirklich großartig! Es hat wie ein Zauber funktioniert! Ich habe es bei der Arbeit (wo wir gezwungen sind, Windows-Maschinen zu haben) mit gVIM verwendet! Wirklich sehr, sehr gut! Du hast mir Stunden Kopfschmerzen erspart!
Walialu

Aus irgendeinem Grund wird bei Verwendung von / S und / B der vollständige absolute Pfad mit dem Ordner C: \ gedruckt. Ist dies vermeidbar? Ich möchte nur den relativen Dateinamen.
lama12345

2
Ja, funktioniert perfekt mit Suchen / Ersetzen von "C: / Ordner" und Ersetzen durch "".
Lama12345

22
Nur um hinzuzufügen: tree /fgibt dem Auge eine angenehme Darstellung :-)
arun

25

dir /s /b /a:d>output.txt portiert es in eine Textdatei


23

Sie können die gewünschten Parameter abrufen, indem Sie Folgendes eingeben:

dir /?

Versuchen Sie für die vollständige Liste:

dir /s /b /a:d

3

Sie können mit FINDSTR verschiedene Optionen verwenden, um die nicht gewünschten Zeilen zu entfernen:

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

Die normale Ausgabe enthält Einträge wie diese:

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

Sie können diese mithilfe der verschiedenen Filteroptionen von FINDSTR entfernen. Sie können auch die hervorragenden Unxutils verwenden, aber die Ausgabe wird standardmäßig in UNIX konvertiert, sodass Sie CR + LF nicht mehr erhalten. FINDSTR bietet die beste Windows-Option.


Nett! Meine zusätzliche Anforderung besteht darin, alle Zeilen zu zählen, was erledigt ist dir /s /b | find /v /c "".
Domih

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.