系统学习 Windows 学习路径:从 CMD 到 PowerShell、系统网络,再到 WSL 与 Server

tree

以树形结构展示目录层级,可附带文件名。

补充说明

tree 用缩进和连线字符显示目录的层级关系,/f 同时列出文件,/a 用 ASCII 字符代替制表连线,便于重定向到旧控制台或纯文本工具。它适合快速看清项目结构、确认部署目录层级,或把目录快照存档。

边界:tree 只做展示,不能按名称、大小、属性或时间过滤,也没有深度限制;目录很大时输出会非常长。找特定文件名用 dir /s /b 或 where /r,找内容用 findstr,统计体积用资源管理器或 PowerShell。默认只显示目录,不加 /f 时看不到任何文件,这是最常见的误判。

Windows 10/11 与 Server 2016+ 的 tree 参数一致;tree.com 是外部程序,CMD 和 PowerShell 都会调用同一个可执行文件,/f、/a 可以直接用。重定向到文件时,输出按控制台代码页写入,跨机器打开可能乱码;需要稳定文本时加 /a,并在同一代码页下查看。

常用示例

# 1. 只看目录层级,快速了解项目结构
C:\> tree C:\Projects

# 2. 连文件名一起显示,确认某个目录下有哪些文件
C:\> tree C:\Projects /F

# 3. 用 ASCII 连线输出到文件,便于跨工具查看
C:\> tree C:\Projects /F /A > C:\temp\tree.txt

# 4. 分页浏览整个盘的目录树,避免刷屏
C:\> tree C:\ /F | more

# 5. 把用户文档的目录快照存到临时目录
C:\> tree C:\Users\me\Documents /F > "%TEMP%\docs-tree.txt"

# 6. 在输出中筛出包含目标目录名的行(会丢失层级上下文)
C:\> tree C:\Projects /A | findstr /I "node_modules"

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. 为什么 tree C:\Projects 看不到任何文件?怎样显示文件?
  2. tree 能只显示三层目录或排除 node_modules 吗?
  3. 把 tree 输出重定向到文件时,为什么要考虑代码页和 /a?
答案
  1. 默认只列目录;加 /f 才显示文件。
  2. 不能,tree 没有深度和排除参数;改用 dir、findstr 或 PowerShell。
  3. 输出按控制台代码页写入,换环境可能乱码;/a 用 ASCII 连线可减少字符兼容问题。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令