Windows系統使用命令生成文件夾下項目目錄樹(文件結構樹)的兩種高效方法
- 前言:
- **方法一:`tree` 命令 —— 快速生成經典目錄樹**
- **方法二:PowerShell —— 可以精準過濾“降噪”的命令**
- 這份列表非常精煉,只包含項目的核心邏輯文件。
- **總結與建議**
前言:
有時候我使用ai的時候需要提供一下當前目錄下的文件樹,或者我在寫readme.md文件的時候需要提供一下當前目錄下的文件樹,就可以使用下述方法。(適用于windows系統)
方法一:tree
命令 —— 快速生成經典目錄樹
tree
是 Windows CMD 內置的經典工具,可以快速生成直觀的、人類可讀的目錄結構。
操作步驟:
- 在項目文件夾的地址欄輸入
cmd
并回車,直接啟動命令提示符。 - 運行以下命令:
tree /f /a > structure.txt
/f
:顯示每個文件夾中的文件名。/a
:使用 ASCII 字符,確保在任何平臺粘貼都不會出現亂碼。
默認輸出示例:
D:.
| README.md
| package.json
|
\---src| index.js\---componentsButton.js
要點解讀:
輸出中的 D:.
代表“當前目錄”。這是 tree
的標準行為,AI 完全可以理解。當你在某個目錄下執行該命令時,.
就代表“當前工作目錄”。所以 D:.
意為“位于D盤上的當前目錄”。
可選技巧:顯示完整根路徑
如果你希望輸出的根節點直接顯示項目文件夾名,而不是 .
,可以從其父目錄執行 tree
命令。
- 首先進入項目的上一級目錄。例如,如果項目在
D:\coding\my-project
,則先進入D:\coding
。 - 然后將項目文件夾名作為參數傳給
tree
:tree "my-project" /f /a > "my-project\structure.txt"
輸出示例:
這種方式生成的樹狀圖直接以項目文件夾的完整路徑作為根節點。
D:\CODING\MY-PROJECT
| README.md
| package.json
|
\---src| index.js\---componentsButton.js
注意,根節點現在是清晰的 D:\CODING\MY-PROJECT
,而不是 D:.
。這種方法在視覺上更加明確。
方法二:PowerShell —— 可以精準過濾“降噪”的命令
當項目包含 node_modules
、編譯產物(如.log
, .aux
)或虛擬環境時,tree
的輸出會過于臃腫。PowerShell 提供了強大的過濾能力,可以生成一份干凈降噪的文件列表。
操作步驟:
-
在項目文件夾空白處右鍵 -> 在終端中打開(推薦方式)。
-
運行以下優化后的命令:
# 針對通用項目,可按需修改 -Exclude 列表 Get-ChildItem -Recurse -Exclude "node_modules", ".git", "dist", "*.log" | Where-Object { !$_.PSIsContainer } | Resolve-Path -Relative | Sort-Object | Out-File clean_structure.txt
命令拆解:
Get-ChildItem -Recurse
: 遞歸掃描所有文件和文件夾。-Exclude "..."
: 核心過濾。按需排除不需要的目錄和文件(如"node_modules"
,".git"
,__pycache__
等)。Where-Object { !$_.PSIsContainer }
: 只保留文件,剔除空目錄的顯示。Resolve-Path -Relative
: 將文件的絕對長路徑轉換為簡潔的相對路徑
,極大減少了文本量,節省 Token。Sort-Object
: 對結果排序,使其更清晰。Out-File ...
: 將最終的干凈列表保存到文件。
示例輸出(相對路徑列表):
README.md
package.json
src/index.js
src/components/Button.js
這份列表非常精煉,只包含項目的核心邏輯文件。
總結與建議
tree
命令:簡單、快速、直觀。適用于小型、干凈的項目,或需要快速了解和展示結構。PowerShell
方法:功能強大、可定制。是處理任何中大型、復雜項目的首選。通過精準過濾和路徑轉換,能生成過濾后相對干凈友好的文件結構。