31

我希望能够使用

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

命令仅输出文本文件。目前,它输出每个文件扩展名。

有谁知道一个简单的方法来做到这一点?

4

5 回答 5

44

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
于 2012-06-12T20:58:22.610 回答
13

使用 FINDSTR 正则表达式获得所需的 TREE 输出实际上并不难。:-)

tree /f /a | findstr /ri /c:"^[^| ]" /c:"^[| ]*[+\\]" /c:"\.txt$"
于 2012-06-12T22:57:02.303 回答
3

注意:该tree命令不按名称排序输出!

相反,您可以使用这种方法:

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

结果看起来不太好,但

参考

pbies 在 Superuser 上找到的这个解决方案

于 2014-11-28T15:18:27.023 回答
1

另一个简单的选择:转到您要列出的目录,输入 CMD 以便您已经在正确的位置,然后:

树 /a /f>“输出.doc”

这会将其放入 word doc 中,从那里更容易编辑和格式化。

于 2018-06-19T22:10:49.297 回答
-1

更简单。

您只需要像这样导出结果: tree /a /f >"toto.rtf"

然后你用Word打开文件并选择MS DOS转换。

于 2017-09-08T11:38:19.783 回答