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


201

Как нам добиться рекурсивного перечисления каталогов в DOS?

Я ищу команду или скрипт в DOS, который может дать мне рекурсивный список каталогов, похожий на ls -Rкоманду в Unix.

Ответы:


361

Ты можешь использовать:

dir /s

Если вам нужен список без всей информации верхнего / нижнего колонтитула, попробуйте это:

dir /s /b

(Конечно, это будет работать для DOS 6 и более поздних версий; возможно, до этого работало, но я не могу вспомнить.)


7
+1 очень удобно. Если в ваших каталогах содержится много файлов, эта команда будет прокручивать их на экране слишком быстро для чтения. Я думаю, что лучше всего направить вывод этой команды в текстовый файл, который вы можете прочитать на своей собственной скорости. Например (при условии, что каталог c: \ temp создан): dir C: \ / s> C: \ temp \ CDirectoryListing.txt
Стивен Магана-Зук,

Вы, сэр, действительно потрясающе! Оно работало завораживающе! Я использовал его на работе (где мы вынуждены иметь Windows-машины) с gVIM! Действительно, действительно хорошо! Вы спасли меня от головной боли!
Валиалу

По какой-то причине при использовании / S и / B он печатает полный абсолютный путь с папкой C: \, это можно предотвратить? Я хочу только относительное имя файла.
lama12345

2
Да, отлично работает с поиском / заменить "C: / folder" и заменить на "".
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 "".
Доми

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.