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

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

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

Ответ 1

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

dir /s

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

dir /s /b

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

Ответ 2

Вы можете получить параметры, которые вы запрашиваете, набрав:

dir /?

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

dir /s /b /a:d

Ответ 3

dir /s /b /a:d>output.txt переносит его в текстовый файл

Ответ 4

Вы можете использовать различные опции с 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.

Ответ 5

Мне нравится использовать следующее, чтобы получить красиво отсортированный список текущего каталога:

> dir . /s /b sortorder:N