我希望能够使用
tree /F /A > "desktop"\file.txt
命令仅输出文本文件。目前,它输出每个文件扩展名。
有谁知道一个简单的方法来做到这一点?
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
使用 FINDSTR 正则表达式获得所需的 TREE 输出实际上并不难。:-)
tree /f /a | findstr /ri /c:"^[^| ]" /c:"^[| ]*[+\\]" /c:"\.txt$"
注意:该tree
命令不按名称排序输出!
相反,您可以使用这种方法:
dir /b /s /ad /on c:\ > c:\file.txt
结果看起来不太好,但
另一个简单的选择:转到您要列出的目录,输入 CMD 以便您已经在正确的位置,然后:
树 /a /f>“输出.doc”
这会将其放入 word doc 中,从那里更容易编辑和格式化。
更简单。
您只需要像这样导出结果:
tree /a /f >"toto.rtf"
然后你用Word打开文件并选择MS DOS
转换。