Lista katalogów rekurencyjnych w systemie DOS

201

Jak uzyskać rekursywną listę katalogów w DOS?

Szukam polecenia lub skryptu w DOS, który może dać mi rekurencyjną listę katalogów podobną do ls -Rpolecenia w Uniksie.

StarDotStar
źródło

Odpowiedzi:

361

Możesz użyć:

dir /s

Jeśli potrzebujesz listy bez wszystkich informacji w nagłówku / stopce, spróbuj:

dir /s /b

(Na pewno zadziała to dla DOS 6 i późniejszych; mogło wcześniej działać, ale nie pamiętam.)

Michael Todd
źródło
7
+1 bardzo przydatny. Jeśli twoje katalogi zawierają wiele plików, to polecenie przewinie je na ekranie zbyt szybko, aby je odczytać. Myślę, że najlepiej jest przesyłać dane wyjściowe tego polecenia do pliku txt, który można odczytać z własną prędkością. Na przykład (zakładając, C: \ TEMP tworzony) DIR C: \ / S> C: \ temp \ CDirectoryListing.txt
Steven Magana-Zook
Proszę pana, jesteś naprawdę niesamowity! Działa jak urok! Użyłem go w pracy (gdzie jesteśmy zmuszeni mieć maszyny Windows) z gVIM! Naprawdę, naprawdę dobrze! Zaoszczędziłeś mi godziny bólu głowy!
Walialu
Z jakiegoś powodu wypisuje pełną ścieżkę bezwzględną z folderem C: \ z przodu podczas używania / S i / B, czy można temu zapobiec? Chcę tylko względną nazwę pliku.
lama12345
2
Tak, działa idealnie z Wyszukaj / Zamień folder „C: /” i zamień na „”.
lama12345
22
Wystarczy dodać: tree /fdaje przyjemny dla oka wygląd :-)
arun
25

dir /s /b /a:d>output.txt przeniesie go do pliku tekstowego

Trybrach
źródło
23

Możesz uzyskać parametry, o które prosisz, wpisując:

dir /?

Aby uzyskać pełną listę, spróbuj:

dir /s /b /a:d
Fortius
źródło
3

Możesz użyć różnych opcji z FINDSTR, aby usunąć niepotrzebne linie, na przykład:

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

Normalne wyjście zawiera następujące wpisy:

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

Możesz je usunąć, korzystając z różnych opcji filtrowania oferowanych przez FINDSTR. Możesz także użyć doskonałego unxutils, ale domyślnie konwertuje on dane wyjściowe do UNIX, więc nie otrzymujesz już CR + LF; FINDSTR oferuje najlepszą opcję systemu Windows.

Zeinab Qureshi
źródło
Miły! Moim dodatkowym wymaganiem jest policzenie wszystkich linii, co jest zrobione dir /s /b | find /v /c "".
domih
3

Chciałbym użyć następujących, aby uzyskać ładnie posortowaną listę bieżącego katalogu:

> dir . /s /b sortorder:N
Miłość i pokój - Joe Codeswell
źródło