我一直觉得 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 死活做不到这一点。
例如:
treeview -L 2
完全对齐 Linux 的 tree -L.
✨ 2. 支持文件图标(-Icon)
非常直观:
- 📁 文件夹
- 📄 普通文件
- 🖼️ 图片
- 🎬 视频
- 🧱 二进制
- 等等……
项目结构一眼就能看出类型。
✨ 3. 使用 Unicode 树形字符
养眼的:
├──
└──
│
再也不是 Windows 的那种 ASCII 方框了。
✨ 4. 支持彩色输出(-C)
漂亮而且一眼区分文件夹 / 文件。
✨ 5. 支持完整路径、过滤目录、显示隐藏文件…
能让你写 README、截目录树图的时候不再痛苦。
✨ 6. 支持 Windows PowerShell 5.1 和 PowerShell 7
不挑环境,不挑机器。
📦 如何安装?
最推荐使用 PowerShell Gallery:
Install-Module -Name TreeView -Scope CurrentUser -Force
验证安装:
Get-Module -ListAvailable TreeView | Select-Object Name, Version, Path
安装后可直接使用:
treeview
如果控制台报:
treeview :在模块“TreeView"中找到“treeview”命令,但无法加载该模块。有关详细信息,请运行“Import-Module Treeview”
则需要引入一下模块:
Import-Module Treeview
如遇脚本被阻止,请运行下列指令在当前用户通过安全策略:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
📘 常用用法示例
显示三层:
treeview -L 3
显示图标:
treeview -Icon
显示完整路径:
treeview -f
只看目录:
treeview -d
显示隐藏文件:
treeview -a
启用彩色输出:
treeview -C
📊 输出示例
📁 Project
├── 📁 src
│ ├── 📄 main.js
│ └── 🖼️ logo.png
├── 📁 docs
└── 🎬 demo.mp4
🛠 我写 TreeView 的一些心得
写完这个工具,我最大的感受是:
PowerShell 的生态确实需要更多现代化的小工具。
Windows Terminal 已经很现代了,但工具还是 20 年前的那批。 TreeView 的作用有点像“补一个本来就应该有的能力”。
无论是写文档、做演示,还是查看项目结构,它都比 tree 灵活。
🔚 最后
实现的过程我也记录在我的另一篇博客里了:
如何发布powershell命令到gallery(超详细教程,一文带你跑通全流程)介绍了如何编写一个自己的powersh - 掘金
如果你觉得 TreeView 对你有帮助, 欢迎 GitHub 点个 ⭐ 支持一下:
我也会持续更新,加入更多你们需要的能力。 欢迎提 Issue、PR,或者告诉我你希望 TreeView 还能做什么。