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.

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.)


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


23

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

dir /?

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

dir /s /b /a:d

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.


Miły! Moim dodatkowym wymaganiem jest policzenie wszystkich linii, co jest zrobione dir /s /b | find /v /c "".
domih

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.