文章目录
- 1.命令 tree
- 2. 基本功能
- 3. 使用案例1: /F参数
- 4. 使用案例2: /A参数
- 5. 结论
邪修:
如果你只是需要列出当前文件夹下的一级子文件夹(不需要树状的连线图形),直接使用 dir 命令即可
>dir/ad /b .git .vscode 0_入职 11_ScienceDataLabel 1_dataProcess 1_LLM 2_easyDataset 3_Agent...# /ad 表示只显示目录/文件夹,/b 表示使用空格式/仅名称# 然后自己手动加一下线条就好如果希望达到和linux一样的原生tree的效果,需要安装软件
# powershell里(base)PS E:\XX>wingetinstall--id=GnuWin32.Tree-e“msstore”源要求在使用前查看以下协议。 Terms of Transaction: https://aka.ms/microsoft-store-terms-of-transaction 源要求将当前计算机的2个字母的地理区域发送到后端服务才能正常工作,(例如"US")。 是否同意所有源协议条款?[Y]是[N]否: y 已找到 GnuWin32: Tree[GnuWin32.Tree]版本1.5.2.2 此应用程序由其所有者授权给你。 Microsoft 对第三方程序包概不负责,也不向第三方程序包授予任何许可证。 正在下载 https://sourceforge.net/projects/gnuwin32/files/tree/1.5.2.2/tree-1.5.2.2-setup.exe/download# 切换到相应要生成目录结构的文件夹里,直接在cmd里运行"C:\Program Files (x86)\GnuWin32\bin\tree.exe"-L1-d.|-- 1_LLM|-- 1_dataProcess|-- 2_easyDataset|-- 3_Agent...|-- meeting2026 `-- other1.命令 tree
- 根据windows-server/administration/windows-commands/tree
- windows的cmd里也是支持类似于linux下的tree命令,但是功能没有那么丰富
2. 基本功能
# 在cmd中输入下面的命令,可以看到如下提示>tree /? 以图形显示驱动器或路径的文件夹结构。 TREE[drive:][path][/F][/A]/F 显示每个文件夹中文件的名称。 /A 使用 ASCII 字符,而不使用扩展字符。(这个翻译有点问题,看下面的英语比较好懂) /A Specifies to use text characters instead of graphic characters to show the lines thatlinksubdirectories. 意思就是不使用图像类型的字符而使用文本类型的字符来显示子目录之间的连接线3. 使用案例1: /F参数
如果用了这个参数,则会显示每个文件夹中文件的名称(不区分层级),所以只适合一级目录,多级的话会显示到最终的文件那个层级
D:\project\xxx>tree ./ /F 文件夹PATH列表 卷序列号为 000000AC 637A:36F2 D:\PROJECT\1_VESSELSEG\3.CODE\VSR_RESULT │1.centerline.png │1.endsPoint.png │1.template_endsPoint.png │1.template_endsPoint_single.png │ all_rbd_edge_dfs.png │ rbd_edge_dfs.png │ README.md │ 点集.txt │ 记录.txt │ 记录2.txt │ 记录3.txt │ 记录4.txt │ └─img20231225135517.png4. 使用案例2: /A参数
从下面输出可以看到,
- 默认不使用
/f参数的时候,会直接输出目录结构(所有层级的folder名称),而不会输出文件名称 /a的作用只是连接线的样式改变了,linux下的样式可能是有/a参数和没有/a参数的一个结合
D:\project\xxx>tree ./ /a 文件夹PATH列表 卷序列号为 000000CE 637A:36F2 D:\PROJECT\xxx +---AV_groundTruth|\---AV_groundTruth|+---test||+---av||+---images||\---vessel|\---training|+---av|+---images|\---vessel +---CHASEDB1|+---1st_label|+---2nd_label|+---images|\---mask +---DRIVE|+---test||+---1st_manual||+---2nd_manual||+---images||\---mask|\---training|+---1st_manual|+---images|\---mask +---SMDG|+---blood-vessel||\---blood-vessel|+---full-fundus||\---full-fundus|+---optic-cup||\---optic-cup|+---optic-disc||\---optic-disc|+---spectral-oct||\---spectral-oct|+---spectral-oct-cup||\---spectral-oct-cup|+---spectral-oct-disc||\---spectral-oct-disc|+---vessel-artery||\---vessel-artery|\---vessel-vein|\---vessel-vein +---STARE|+---1st_labels_ah|+---images|+---mask|\---snd_label_vk +---test|\---test|+---images|\---mask\---training\---training +---1st_manual +---images\---mask5. 结论
windows下cmd自带的tree勉强凑活用,估计需要先不加
/F参数,然后转到特定文件夹下,再添加/F参数,同时需要手动删除很多无关的目录。
参考:
- Windows command: tree command with all options
- How to get tree of folders in CMD?