【问题标题】:Output of tree in command prompt在命令提示符下输出树
【发布时间】:2012-06-12 20:55:00
【问题描述】:

我希望能够使用

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

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

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

【问题讨论】:

    标签: tree cmd


    【解决方案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
    

    【讨论】:

    • 注意——命令提示符在我尝试树功能的服务器上被锁定。最好在 .cmd 文件中使用“dir”命令。
    【解决方案2】:

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

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

    【讨论】:

    • 没那么难?这是一些巫师级别的东西 +1
    • 我想了解你是如何得到这个解决方案的,这也应该是公认的。
    【解决方案3】:

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

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

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

    结果看起来不太好,但是

    reference

    this solution found on Superuser by pbies

    【讨论】:

      【解决方案4】:

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

      树 /a /f>"output.doc"

      这会将它放入一个 word 文档中,从那里更容易编辑和格式化。

      【讨论】:

        【解决方案5】:

        更简单。

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

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

        【讨论】:

        • 如何抑制不是.txt的文件?
        猜你喜欢
        • 2013-06-21
        • 2014-04-16
        • 2014-11-22
        • 2020-02-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-23
        • 1970-01-01
        相关资源
        最近更新 更多