Windows的tree命令生成文件结构树

你可能在很多人的博客文章内或是一些文档内见到清晰的文件结构说明

那他们是怎么做的呢?不会是一个文件一个文件的拼接手写吧?不会吧?

各大操作系统都有tree这个命令,本文仅描述Windows系统

先看看tree命令有些说明参数说明吧,输入tree /?也可以使用help tree参数说明

Windows系统自带的功能实在是太少了,例如我需要生成指定文件的在该结构总的位置,则系统自带的是的tree是无法办到的,这里推荐使用tree-node-cli

COPY
1
2
3
4
5
6
7
L:\Windows\Desktop\新建文件夹>tree /?
以图形显示驱动器或路径的文件夹结构。

TREE [drive:][path] [/F] [/A]

/F 显示每个文件夹中文件的名称。
/A 使用 ASCII 字符,而不使用扩展字符。

/F /A 都可以使用小写,对大小写不敏感(博主设备: win11)

本文以.git文件文件夹结构举例

本文的目录结构

COPY
1
2
3
4
5
6
7
8
9
10
11
L:.
└─test
└─.git
├─hooks
├─info
├─objects
│ ├─info
│ └─pack
└─refs
├─heads
└─tags

tree /F > tree.txt: 生成的文件目录树形结构写入到 tree.txt

使用特殊字符

COPY
1
tree test
COPY
1
2
3
4
5
6
7
8
9
.git
├─hooks
├─info
├─objects
│ ├─info
│ └─pack
└─refs
├─heads
└─tags
COPY
1
tree test /F
COPY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
.git
│ config
│ description
│ HEAD

├─hooks
│ applypatch-msg.sample
│ commit-msg.sample
│ fsmonitor-watchman.sample
│ post-update.sample
│ pre-applypatch.sample
│ pre-commit.sample
│ pre-merge-commit.sample
│ pre-push.sample
│ pre-rebase.sample
│ pre-receive.sample
│ prepare-commit-msg.sample
│ push-to-checkout.sample
│ update.sample

├─info
│ exclude

├─objects
│ ├─info
│ └─pack
└─refs
├─heads
└─tags

使用 ASCII 字符

COPY
1
tree test /A
COPY
1
2
3
4
5
6
7
8
9
.git
+---hooks
+---info
+---objects
| +---info
| \---pack
\---refs
+---heads
\---tags
COPY
1
tree test /A /F
COPY
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
.git
| config
| description
| HEAD
|
+---hooks
| applypatch-msg.sample
| commit-msg.sample
| fsmonitor-watchman.sample
| post-update.sample
| pre-applypatch.sample
| pre-commit.sample
| pre-merge-commit.sample
| pre-push.sample
| pre-rebase.sample
| pre-receive.sample
| prepare-commit-msg.sample
| push-to-checkout.sample
| update.sample
|
+---info
| exclude
|
+---objects
| +---info
| \---pack
\---refs
+---heads
\---tags
Authorship: Lete乐特
Article Link: https://blog.imlete.cn/article/Windows-files-tree.html
Copyright: All posts on this blog are licensed under the CC BY-NC-SA 4.0 license unless otherwise stated. Please cite Lete乐特 's Blog !