虽互不曾谋面,但希望能和你成为笔尖下的朋友
以读书,技术,生活为主,偶尔撒点鸡汤
不作,不敷衍,意在真诚吐露,用心分享
点击左上方,可关注本刊

文 | 随笔川迹
文末付有视频,土豪请随意了
如需高清视频,后台可回复【tree视频下载】
前言
有时候,当你完成一个项目后,想要展示这个项目的目录结构(如下图所示),对该项目进行文档描述性说明,用于解释其项目中各个目录以及文件代表的含义,这样便于自己和后来的同学理解
在实际开发中,对于接收毫无文档说明的project,是非常痛苦的,一份好的readme文档也是非常重要的,那怎么办?逐行手写?当然不是,接下来,一步一步带你见证奇迹

使用DOS中的tree命令
人用迭代,神用递归,其实说的是自己调用自己,而这个tree命令就是用递归写的
tree是DOS的一个命令
功能:以图形的方式现实应用程序或者路径的目录结构
对于tree命令在windows坏境下的使用的,执行 help命令,然后 tree /?,其他windows的dos命令也是如此
官方解释:Tree是一个递归目录列表程序,它生成一个深度缩进的文件列表。给出目录参数时,树会列出给定目录中找到的所有文件和/或目录
缺陷:在windows DOS终端下,tree对应的参数功能有限,无法过滤特定的文件,而且在git bash终端下此命令却无法使用,如果要使用,特用特定的方法,后文中提供了具体的解决方法 tree命令使用:
1. D:\公开课\2019\react\myfirstreactapp>tree /?2. 以图形显示驱动器或路径的文件夹结构。4. TREE [drive:][path] [/F] [/A]6. /F 显示每个文件夹中文件的名称。7. /A 使用 ASCII 字符,而不使用扩展字符(会把当前目录下的结构给展出来)。8. TREE [drive:][path] [/F] [/A]
当你在当前目录下使用 tree /F或者 tree /a 这两个命令时,你会发现,它会把所有文件目录结构都给你打印出来 使用 tree /f,如下所示:
│ │ README.md│ ││ ├─regexpu-core│ │ │ LICENSE-MIT.txt│ │ │ package.json│ │ │ README.md│ │ │ rewrite-pattern.js│ │ ││ │ └─data│ │ character-class-escape-sets.js│ │ iu-mappings.js│ ││ ├─regjsgen│ │ LICENSE│ │ package.json│ │ README.md│ │ regjsgen.js│ ││ ├─regjsparser│ │ │ CHANGELOG│ │ │ LICENSE.BSD│ │ │ package.json│ │ │ parser.js│ │ │ README.md│ │ ││ │ ├─bin│ │ │ parser│ │ ││ │ └─node_modules│ │ ├─.bin│ │ │ jsesc│ │ │ jsesc.cmd│ │ ││ │ └─jsesc│ │ │ jsesc.js│ │ │ LICENSE-MIT.txt│ │ │ package.json│ │ │ README.md│ │ ││ │ ├─bin│ │ │ jsesc│ │ ││ │ └─man│ │ jsesc.1│ │
使用 tree /a,如下所示
D:\公开课\2019\react\myfirstreactapp>tree /A卷 Data 的文件夹 PATH 列表卷序列号为 5A50-E210D:.+---node_modules| +---.bin| +---@babel| | +---code-frame| | | \---lib| | +---core| | | +---lib| | | | +---config| | | | | +---files| | | | | +---helpers| | | | | \---validation| | | | +---tools| | | | \---transformation| | | | +---file| | | | \---util| | | \---node_modules| | | +---.bin| | | \---semver| | | \---bin
如果你此时想要把目录结构保存到一个文件里,可以用如下方式:
tree /f > 指定输出的文件(一般为txt格式或者readme文档)
tree /f > 指定输出的文件(一般为txt格式或者readme文档)
tree /f > list.txt
当然你也可以在窗口里,手动复制结果,然后,新建一个文件,把输出的结果粘贴进去,也不是不可以,但是你要知道,程序员哥哥是很懒的,个人强烈推荐使用命令行方式去自动化操作
注意: tree命令是Windows下的一个命令,在linux下或者git命令行工具里,却无法使用,不支持tree,然而如果想要支持怎么办?
下载tree,Binaries版本(http://gnuwin32.sourceforge.net/packages/tree.htm)如下图所示

本文介绍了如何使用DOS中的tree命令、基于node的treer、tree-node-cli和tree-cli来生成和展示项目目录结构。针对DOS和git Bash的不同环境,提供了相应解决方案,包括过滤特定文件、保存输出到文件以及在Markdown中展示目录结构。文章还提到了各工具的特点和限制,并总结了在不同场景下的适用方法。
最低0.47元/天 解锁文章
748

被折叠的 条评论
为什么被折叠?



