一个由Rust实现的, 好得多的Windows tree命令: tree++项目简介

tree++: 好的多的Windowstree命令

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

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

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

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

性能对比(以C:\Windows为示例):

类型 耗时 (ms) 倍率
tree /f (Windows Native) 20721.90 1.00x
treepp /f 7467.99 2.77x
treepp /f /nb 7392.34 2.80x
treepp /f /nb /b 3226.38 6.42x
treepp /f /nb /b /t 1 9123.00 2.27x
treepp /f /nb /b /t 2 5767.71 3.59x
treepp /f /nb /b /t 4 3948.73 5.25x
treepp /f /nb /b /t 8 3166.81 6.54x
treepp /f /nb /b /t 16 2704.67 7.66x

安装

Release下载tree++.zip, 解压到合适目录, 并将目录添加至环境变量.

开启Windows终端, 执行:

powershell 复制代码
treepp /v

有输出:

plaintext 复制代码
tree++ version 0.1.0

A Much Better Windows tree Command.

author: WaterRun
link: https://github.com/Water-Run/treepp

即完成安装.

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

powershell 复制代码
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 逆序排序
--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 将结果输出至文件(.txt, .json, .yml, .toml)
--batch -b /B 使用批处理模式
--thread -t /T 扫描线程数(批处理模式, 默认8线程)
--gitignore -g /G 遵循.gitignore

更多信息查阅GitHub上的有关文档信息

相关推荐
mldong5 小时前
流程实例如何沿着箭头走到结束:Rust 工作流引擎的执行内核
架构·rust
峰向AI9 小时前
GenOffice:开源 Office 套件,字节级保留、本地转换、BYOK模式
github
其实防守也摸鱼11 小时前
权限提升与横向移动:从内网渗透到域控的完整技术图谱
运维·服务器·数据库·安全·github·copilot·渗透
m4Rk_11 小时前
【论文阅读】Agent 记忆机制(57):MemSearch-o1——从查询词元生长证据,重组 Deep Search 记忆路径
论文阅读·人工智能·学习·开源·github
小灰灰搞电子11 小时前
Rust+Slint 实现动态轮播图源码分享,支持动态删除、添加
开发语言·rust·slint·动态轮播图
其实防守也摸鱼11 小时前
免杀与持久化入门:从载荷免杀到隐蔽通道的完整指南
运维·服务器·数据库·安全·github·copilot·渗透
sec_jay12 小时前
一个面向有限本地语料库的、单智能体、工具调用型 Agentic RAG 原型--关于agent的实践调研报告
github
今天AI了吗13 小时前
大模型技术全景(一):AI、机器学习、深度学习,三者的关系到底是什么?一文搞懂
数据库·人工智能·python·sql·深度学习·机器学习·rust
Naylor14 小时前
切片:指向一段数据,而不是全部
rust
goplaysource14 小时前
IPTV 频道去重:用哈希解决"同一个频道出现十遍"的问题
github