как составить список всех файлов и каталогов в указанном каталоге с полным путем, но не рекурсивно?

как составить список всех файлов и каталогов в указанном каталоге с полным путем, но не рекурсивно?

Что-то вроде dir /bкоманды, но мне нужны также скрытые и системные файлы. Встроенная команда dir не позволяет перечислять такие «скрытые» файлы вместе с остальными, и мне нужно использовать /sполный путь, что, конечно, нерекурсивно.

Я также играл с версией lsкоманды для Windows, и там тоже ничего не вышло. Чтобы отобразить полный путь, необходимо добавить звездочку ( mydir\*) в конце каталога, который вы перечисляете, но это делает его рекурсивным.

решение1

Если вы не хотите ничего устанавливать, вы также можете использовать следующую команду:

for /f "delims=" %a in ('cd') do @for /f %b in ('dir /b /a') do @echo %a\%b

Сначала вам нужно cdвойти в каталог, иначе ничего не получится.

решение2

Попробуйте следующую команду:

dir /s /b /a

Он выдаст ВСЕ файлы, вы можете запустить его, FINDесли хотите, или добавить имя папки.

решение3

Если вы пробовали ls, почему бы просто не установить cygwin? Вы можете использовать find в cygwin:

find -name "*"

Если вы устанавливаете cygwin и хотите использовать find в cygwin, убедитесь, что find в cygwin вызывается либо с использованием полного пути, либо вставьте путь bin cygwin перед system32, поскольку в Windows также есть find.exe.

решение4

Это старый вопрос, но я все равно решил кое-что добавить.

DIR не проходит правильно по всем деревьям каталогов, которые вы хотите, в частности, не по тем, что на C:. Он просто останавливается в некоторых местах из-за разных защит.

ATTRIB работает намного лучше, потому что находит больше. (Почему такая разница? Почему MS заставляет одну утилиту работать так, а другую — иначе в этом отношении? Черт возьми, если я знаю.) По моему опыту, наиболее эффективный способ справиться с этим, хотя это и пустяк, — получить два листинга:

attrib /s /d C:\ >%TEMP%\C-with-directories.txt

attrib /s C:\ >%TEMP%\C-without-directories.txt

и получить разницу между ними. Эта разница — каталоги на C: (за исключением тех, которые слишком хорошо спрятаны). Для C: я обычно делаю это, запустив от имени администратора.

Связанный контент