Подтвердить что ты не робот

Вывод дерева в командной строке

Я надеялся, что смогу использовать

tree /F /A > "desktop"\file.txt

для вывода только текстовых файлов. В настоящее время как есть, он выводит каждое расширение файла.

Кто-нибудь знает, как легко это сделать?

4b9b3361

Ответ 1

Tree принимает только несколько параметров командной строки:

c:\>Tree /?
Graphically displays the folder structure of a drive or path.

TREE [drive:][path] [/F] [/A]

   /F   Display the names of the files in each folder.
   /A   Use ASCII instead of extended characters.

Ни один из указанных параметров не является файловой маской или фильтром.

Вы можете использовать dir с соответствующими переключателями и перенаправить вывод в текстовый файл. Вы получите полное имя пути к файлам, но вы можете отфильтровать это при последующей обработке, если необходимо, с циклом for:

C:\>dir *.txt /s /b > filelist.txt

Ответ 2

На самом деле не так сложно получить желаемый вывод TREE, используя регулярные выражения FINDSTR.: -)

tree /f /a | findstr /ri /c:"^[^| ]" /c:"^[| ]*[+\\]" /c:"\.txt$"

Ответ 3

Примечание: команда tree не упорядочивает вывод по имени!

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

dir /b /s /ad /on c:\ > c:\file.txt

Результат выглядит менее приятным, но

ссылка

это решение найдено на Superuser by pbies

Ответ 4

Simpler.

Вам просто нужно экспортировать результат следующим образом: tree /a /f >"toto.rtf"

Затем вы открываете файл в Word и выбираете MS DOS convert.