Windows下快速生成目录树

背景

每当逛github看到其他作者的项目都使用完整的目录树,就会想在自己做项目的时候生成目录树,方便了解整个项目的体系结构。

winodws下打印目录树

自带命令

Window 平台要想打印目录树,可以用cmd工具或者power shell 的tree命令实现。
tree 命令格式和参数:

TREE [drive:][path] [/F] [/A]
参数解析:

  • /F : 显示每个文件夹中文件的名称。(带扩展名)
  • /A : 使用 ASCII 字符,而不使用扩展字符。(要显示中文,例如 tree /f /A >tree.txt)

在当前目录下生成名为categories.txt的txt文件
tree /f >categories.txt
提醒:此处tree.txt可以修改为其他文件名,格式可为txt,md。

windows下的tree命令被阉割了,只有/F和/A命令,为使用更加完整的功能,可以使用Tree for Windows工具。

Tree for windows工具

1、在Tree for Winodws页面,下载二进制文件Binaries zip 。
Windows下快速生成目录树
2、解压压缩包,找到压缩包内的 bin 目录,将 bin 目录下的 tree.exe 复制到git文件夹Git\usr\bin 目录下,将 tree.exe 粘贴到该目录下,安装完成,即可使用。
3、进入git bash进行测试:
Windows下快速生成目录树
生成了如下所示的一层目录树:
Windows下快速生成目录树

tree命令行参数

  • -a 显示所有文件和目录。
  • -A 使用ASNI绘图字符显示树状图而非以ASCII字符组合。
  • -C 在文件和目录清单加上色彩,便于区分各种类型。
  • -d 显示目录名称而非内容。
  • -D 列出文件或目录的更改时间。
  • -f 在每个文件或目录之前,显示完整的相对路径名称。
  • -F 在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*","/","=","@","|“号。
  • -g 列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码。
  • -i 不以阶梯状列出文件或目录名称。
  • -I 不显示符合范本样式的文件或目录名称。
  • -n 不在文件和目录清单加上色彩。
  • -N 直接列出文件和目录名称,包括控制字符。
  • -p 列出权限标示。
  • -P 只显示符合范本样式的文件或目录名称。
  • -q 用”?"号取代控制字符,列出文件和目录名称。
  • -s 列出文件或目录大小。
  • -t 用文件和目录的更改时间排序。
  • -u 列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码。
  • -x 将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该子目录予以排除在寻找范围外。

Reference

https://my.oschina.net/u/4354403/blog/3430105