我一直觉得 Windows 自带的 tree 命令非常可惜。
功能半残、输出不友好、不能限制深度、没有 Unicode、没有颜色、没有图标……
真正想用它来查看目录结构的时候,感觉自己回到了上个世纪。
既然如此,我干脆就自己写了一个。
于是就有了 TreeView — 现代化的 Windows PowerShell 目录树工具。
这篇文章就来分享一下我为什么要做它,它能解决什么痛点,以及你怎么用它最快上手。
💡 我为什么要做 TreeView?
讲真,我做这个工具的起因非常简单:
- 我经常需要给别人(包括AI)展示项目结构
- Windows 的
tree不能限制深度(Linux 有-L) - 不能显示图标,不直观
- 中文文件名会错位
- PowerShell 和 Windows Terminal 这么现代化了,目录树却还停留在 90 年代
- 市面上竟然没有一个好用的替代品(我搜了好几圈,只能找到npm包)
而我日常也喜欢做小工具,越写越觉得:
“不如我自己做一个,可能别人也会用吧?”
所以 TreeView 就这么诞生了。
🚀 TreeView 能做什么?(最核心的亮点)
TreeView 的目标很明确:
做一个比 Windows 自带的 tree 好用 10 倍的工具。
为了这个目标,它实现了几个重要能力:
✨ 1. 支持深度控制(-Depth / -L)
Windows 原生 tree 死活做不到这一点。
例如:
1 | treeview -L 2 |
完全对齐 Linux 的 tree -L.
✨ 2. 支持文件图标(-Icon)
非常直观:
- 📁 文件夹
- 📄 普通文件
- 🖼️ 图片
- 🎬 视频
- 🧱 二进制
- 等等……
项目结构一眼就能看出类型。
✨ 3. 使用 Unicode 树形字符
养眼的:
1 | ├── |
再也不是 Windows 的那种 ASCII 方框了。
✨ 4. 支持彩色输出(-C)
漂亮而且一眼区分文件夹 / 文件。
✨ 5. 支持完整路径、过滤目录、显示隐藏文件…
能让你写 README、截目录树图的时候不再痛苦。
✨ 6. 支持 Windows PowerShell 5.1 和 PowerShell 7
不挑环境,不挑机器。
📦 如何安装?
最推荐使用 PowerShell Gallery:
1 | Install-Module -Name TreeView -Scope CurrentUser -Force |
验证安装:
1 | Get-Module -ListAvailable TreeView | Select-Object Name, Version, Path |
安装后可直接使用:
1 | treeview |
如果控制台报:
1 | treeview :在模块“TreeView"中找到“treeview”命令,但无法加载该模块。有关详细信息,请运行“Import-Module Treeview” |
则需要引入一下模块:
1 | Import-Module Treeview |
如遇脚本被阻止,请运行下列指令在当前用户通过安全策略:
1 | Set-ExecutionPolicy RemoteSigned -Scope CurrentUser |
📘 常用用法示例
显示三层:
1 | treeview -L 3 |
显示图标:
1 | treeview -Icon |
显示完整路径:
1 | treeview -f |
只看目录:
1 | treeview -d |
显示隐藏文件:
1 | treeview -a |
启用彩色输出:
1 | treeview -C |
📊 输出示例
1 | 📁 Project |
🛠 我写 TreeView 的一些心得
写完这个工具,我最大的感受是:
PowerShell 的生态确实需要更多现代化的小工具。
Windows Terminal 已经很现代了,但工具还是 20 年前的那批。
TreeView 的作用有点像“补一个本来就应该有的能力”。
无论是写文档、做演示,还是查看项目结构,它都比 tree 灵活。
🔚 最后
实现的过程我也记录在我的另一篇博客里了:如何发布powershell命令到gallery | Alpaca Zhang’s Blog
如果你觉得 TreeView 对你有帮助,
欢迎 GitHub 点个 ⭐ 支持一下:
我也会持续更新,加入更多你们需要的能力。
欢迎提 Issue、PR,或者告诉我你希望 TreeView 还能做什么。