Рекурсивний перелік каталогів у DOS


201

Як ми можемо досягти рекурсивного переліку каталогів у DOS?

Я шукаю команду або скрипт в DOS, який може дати мені рекурсивний каталог, що перераховує аналогічний ls -Rкоманді в Unix.

Відповіді:


361

Ви можете використовувати:

dir /s

Якщо вам потрібен список без усієї інформації заголовка / колонтитулу, спробуйте:

dir /s /b

(Напевно, це буде працювати для DOS 6 і пізніших версій; можливо, він працював і до цього, але я не можу згадати.)


7
+1 дуже зручно. Якщо ваші каталоги містять багато файлів, ця команда буде прокручувати їх на екрані занадто швидко, щоб прочитати. Я думаю, що найкраще передавати вихід цієї команди в файл txt, який ви можете прочитати з власною швидкістю. Наприклад (припустимо, що створено каталог c: \ temp): dir C: \ / s> C: \ temp \ CDirectoryListing.txt
Steven

Ви, сер, серйозно дивовижні! Це спрацювало як шарм! Я використовував це на роботі (де нас змушують мати вікна) з gVIM! Дійсно, дуже добре! Ти врятував мені години головного болю!
Валіалу

Чомусь він друкує повний абсолютний шлях із папкою C: \ попереду при використанні / S та / B, це можна запобігти? Я хочу лише відносне ім'я файлу.
lama12345

2
Так, ідеально підходить для пошуку / заміни "C: / папки" та заміни на "".
lama12345

22
Тільки додати: tree /fдає приємний погляд для очей :-)
вівторок


23

Ви можете отримати параметри, які ви запитуєте, ввівши:

dir /?

Для повного списку спробуйте:

dir /s /b /a:d

3

Ви можете використовувати різні параметри з FINDSTR для видалення рядків, які не хочуть, наприклад:

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

Нормальний вихід містить такі записи:

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

Ви можете їх видалити, використовуючи різні параметри фільтрації, запропоновані FINDSTR. Ви також можете використовувати відмінні unxutils, але це конвертує вихід у UNIX за замовчуванням, тому ви більше не отримуєте CR + LF; FINDSTR пропонує найкращий варіант для Windows.


Приємно! Моя додаткова вимога - порахувати всі рядки, що робиться з dir /s /b | find /v /c "".
domih

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.