windows上如何使用tree生成目錄樹

前言

咱們常常在寫博客或者項目設計文檔時須要列出項目的結構樹。咱們下能夠使用tree列出項目結構,以下面這種:node

news_watch_notice
├── cmd    //main
├── conf
├── dis
├── Dockerfile
├── Makefile
├── pkg
├── qrcode
├── .travis.yml
├── README.md
├── vendor
├── utils
複製代碼

使用windows自帶的tree

windows提供了一個tree命令可供咱們使用,可是不太好用。git

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

   /F   顯示每一個文件夾中文件的名稱。
   /A   使用 ASCII 字符,而不使用擴展字符。
複製代碼

D:\dev\gopath\src\news_watch_notice>tree /agithub

文件夾 PATH 列表
卷序列號爲 989E-DB7E
D:.
+---.idea
+---cmd
|   \---qrcode
+---conf
+---dis
|   \---qrcode
+---pkg
|   +---mail
|   +---reptile
|   \---wechat
+---qrcode
+---utils
複製代碼

D:\dev\gopath\src\news_watch_notice>tree /fnpm

文件夾 PATH 列表
卷序列號爲 989E-DB7E
D:.
│  .gitignore
│  .travis.yml
│  Dockerfile
│  Makefile
│  README.md
│  tree.md
│
├─.idea
│      .name
│      misc.xml
│      modules.xml
│      news_watch_notice.iml
│      vcs.xml
│      workspace.xml
│
├─cmd
│  │  news_watch_notice.go
│  │
│  └─qrcode
│          qrcode.jpg
複製代碼

能夠看到確實按照咱們想要的結構輸出了,可是隻有兩個命令的使用並不能知足咱們平常的須要,好比咱們想忽略某個文件,想把生成的樹狀結構輸出的一個文件中又該如何操做.windows

使用基於node的tree-node-cli

要想使用這些命令,咱們須要作一些準備

  • nodejs安裝,能夠戳這裏(建議使用LTS的穩定版本,另nodejs自帶了npm安裝包管理器)

安裝tree-node-cli

#安裝tree-node-cli模塊包
npm install -g tree-node-cli
複製代碼

使用命令

$ tree --help
Usage: tree [options]

Options:
  -V, --version             output the version number
  -a, --all-files           All files, include hidden files, are printed.
  --dirs-first              List directories before files.
  -d, --dirs-only           List directories only.
  -I, --exclude [patterns]  Exclude files that match the pattern. | separates alternate patterns. Wrap your entire pattern in double quotes. E.g. `"node_modules|coverage".
  -L, --max-depth <n>       Max display depth of the directory tree.
  -r, --reverse             Sort the output in reverse alphabetic order.
  -F, --trailing-slash      Append a '/' for directories.
  -h, --help                output usage information

複製代碼

tree -d 只顯示文件夾;bash

  • tree -L n 顯示項目的層級。n表示層級數。好比想要顯示項目三層結構,能夠用tree -l 3;
  • tree -I pattern 用於過濾不想要顯示的文件或者文件夾。好比你想要過濾項目中的vendor文件夾,能夠使用tree -I "vendor";
  • tree > tree.md 將項目結構輸出到tree.md這個文件。

舉例:若是咱們要顯示某個項目下3層的全部文件結構,同時又過濾node_modules文件夾,最後輸出到tree.md,能夠這麼寫微信

$ tree -L 3 -I "vendor" > tree.md
複製代碼

結果:tree.mdide

news_watch_notice
├── cmd
│   ├── news_watch_notice.go
│   └── qrcode
│       └── qrcode.jpg
├── conf
│   └── conf.conf
├── dis
│   ├── news_watch_notice
│   └── qrcode
│       └── qrcode.jpg
├── Dockerfile
├── Makefile
├── pkg
│   ├── mail
│   │   └── mail.go
│   ├── reptile
│   │   └── reptile.go
│   └── wechat
│       └── wechat.go
├── qrcode
│   └── qrcode.jpg
├── README.md
├── tree.md
├── utils
│   └── common_utils.go

複製代碼



微信公衆號

github
idea

相關文章
相關標籤/搜索