tree++: 好的多的Windowstree命令

July 31, 2026 · View on GitHub

English

Windows上的tree命令自从近40年前发布以来几乎就没有改动. 在如今LLM的时代, 作为描述项目结构非常常用的工具, 仅有的/f/a两个参数的功能显然捉襟见肘. 同时, 它也不太快.

tree++是对tree的一次全面升级, 为Windows平台下的tree命令引入了:

  • 扩展参数集, 支持功能涵盖包括显示文件大小, 递归深度限制, 修改输出风格, 将结果输出至文件, 及排除指定目录(包括遵循.gitignore)等常用功能
  • Rust的实现更好的性能, 在批处理模式下更支持多线程, 提供显著的扫描速度提升
  • 兼容原有的Windowstree命令参数和输出格式, 并可使用Unix风格的参数(如-f--files)

tree++使用Rust实现, 开源于GitHub.

性能对比(使用确定性目录夹具):

类型基准 (ms)treepp (ms)倍率
Streaming47.3847.391.00x
Batch /T 166.4248.611.37x
Batch /T 249.5638.421.29x
Batch /T 441.4836.331.14x
Batch /T 837.9729.961.27x
Batch /T 1639.4329.971.32x
Batch /T 3224.1723.351.04x
Disk usage23.7424.830.96x
Disk usage /L98.3367.141.46x
.gitignore81.4138.702.10x
Wide tree274.41277.120.99x
Deep tree25.2026.540.95x
Many small files32.8338.440.85x

安装

Release下载Windows x64压缩包, 解压到合适目录, 并将目录添加至环境变量.

开启Windows终端, 执行:

treepp /v

有输出:

treepp 1.0.0

即完成安装.

随后, 你可以以和普通的Windows tree命令一样的方式使用:

treepp /f

速览

参数集(等价写法)说明
--help -h /?显示帮助信息
--version -v /V显示版本信息
--ascii -a /A使用 ASCII 字符绘制树
--files -f /F显示文件
--full-path -p /FP显示完整路径
--human-readable -H /HR以人类可读方式显示文件大小
--no-indent -i /NI不显示树形连接线
--reverse -r /R逆序排序
--all -k /AL显示隐藏文件
--size -s /S显示文件大小(字节)
--date -d /DT显示最后修改日期
--exclude -I /X排除匹配的文件或目录
--level -L /L限制递归深度
--include -m /M仅显示匹配的文件
--disk-usage -u /DU显示目录累计大小
--report -e /RP显示末尾统计信息
--no-win-banner -N /NB不显示 Windows 原生 tree 的样板信息
--silent -l /SI终端静默(结合output指令使用)
--output -o /O将结果输出至文件或stdout
--format /FMT选择text, JSON, YAML或TOML输出
--errors -E /ERR选择warn, strict或ignore错误处理
--batch -b /B使用批处理模式
--thread -t /T批处理模式下的扫描线程数
--gitignore -g /G遵循.gitignore
--auto-exclude /AE开启生成物/缓存目录排除
--no-auto-exclude /NAE保持生成物/缓存目录排除关闭

完整参数集参阅: tree++参数集文档