Output of tree in command prompt

2019-03-08 07:44发布

问题:

I was hoping to be able to use the

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

command to output only text files. Currently as is, it outputs every file extension.

Does anyone know of an easy way to do this?

回答1:

Tree accepts only a few command line parameters:

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.

None of the indicated parameters are a file mask or filter.

You can use dir with the proper switches, and redirect the output to a text file. You'll get the full path name to the files, but you can filter that out in later processing if need be with a for loop:

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


回答2:

It's actually not that hard to get your desired TREE output using FINDSTR regular expressions. :-)

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


回答3:

Note: that tree command does not order the output by name!

Instead you can use this approach:

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

Result looks like less nice but

reference

this solution found on Superuser by pbies



回答4:

Another simple option: Go to the directory you want to list out, type in CMD so you are already in the right place, then:

tree /a /f>"output.doc"

That will put it into a word doc, easier to edit and format from there.



回答5:

Simpler.

You just need to export your result like this: tree /a /f >"toto.rtf"

Then you open the file with Word and choose MS DOS convert.



标签: tree cmd