跳至主要內容
Lizely

資料夾樹狀圖生成器

將一個嚴格的相對檔案路徑清單轉換為可複製的、確定性的資料夾樹狀結構,且不會上傳專案名稱或結構。

隱私權:你的檔案不會離開裝置,所有處理均在瀏覽器本機完成。

使用方式

  1. 1.每行貼入一個完整的相對檔案路徑,並保持每條路徑使用相同的分隔符風格。
  2. 2.選擇正斜線或反斜線作為輸入,並選擇 Unicode 或 ASCII 樹狀結構字元,然後產生樹狀結構。
  3. 3.請審查節點數量與完整樹狀結構,然後複製至檔案、問題或程式碼審查中。

關於資料夾樹狀圖生成器

資料夾樹狀圖產生器可將一組相對檔案路徑轉為結構化的文字樹狀圖,適用於 README 檔、問題報告、技術檔案、架構註解、程式碼審查與支援訊息。請每行輸入一個完整檔案路徑,選擇輸入使用的分隔符,選擇 Unicode 或 ASCII 連線符,並產生結果。所有解析、驗證、排序、渲染與複製皆在當前瀏覽器標籤頁完成。檔案名稱與專案結構不會上傳至 Lizely 或傳送至外部 API。

每行輸入代表一個檔案,而非資料夾宣告。父資料夾由共享的路徑字首推導而出。例如,src/components/Button.tsx 與 src/index.ts 會產生一個 src 資料夾,內含 components 資料夾與 index.ts 檔案。若僅輸入 src 則代表檔名為 src。同時提供 src 與 src/index.ts 的情況則構成明確的檔案/資料夾衝突,將被拒絕。此規則消除了若同一行可能代表檔案或資料夾所導致的混亂。

分隔符處理為嚴格設計。選擇正斜線(/)用於 src/lib/parser.ts 之類的路徑,或反斜線(\)用於 src\lib\parser.ts 之類的路徑。其他分隔符在執行中任何位置皆被拒絕,不會被猜測、取代或不一致處理。前導分隔符、Windows 驅動根形式、由雙重或尾端分隔符產生的空段、目前目錄段,以及上層目錄移動皆被拒絕。此生成器不會在使用者不知情的情況下,將危險或模糊的路徑轉換為另一個不同路徑。

名稱中可以包含普通空格和點號。README draft.md、.env.example、archive.v1 和 data file.json 會保持與輸入完全一致。名稱不會被修剪、轉為小寫、轉為slug格式、解碼或重新命名。ASCII控制字元,包括純空白換行符,會被拒絕,因為它們可能會導致顯示的樹狀結構產生誤導或分割終端機輸出。空白行也會被視為無效的空路徑,包括最後一個條目後的.trailing空白行。請修復標註的行並重新產生,而不是預期無效條目會被跳過。

輸出始終以單一點(.)表示顯示的根目錄。每個層級中,資料夾先於檔案列出。在這兩類專案中,名稱依照確定的 UTF-16 位元組比較順序排列,而非瀏覽器當地語言、作業系統排序、輸入順序、修改時間或檔案系統元資料。此設計確保相同輸入在支援的瀏覽器中產生相同的輸出。該工具從不讀取本機資料夾,因此無法判斷輸入的路徑是否實際存在於磁碟上。

Unicode 模式使用方框繪製連線符,如 ├──、└── 與 │。ASCII 模式使用 |--、`-- 與 |,以確保樹狀圖在無法正確顯示方框繪製字元的系統或檔案中仍能正確顯示。兩種模式皆會判斷每個節點是否為最後一個子節點,並正確延伸父節點字首至巢狀層級。連線符風格的變更僅在重新選擇「產生樹狀圖」時重新計算;任何先前的輸出將立即清除,以免被誤認為當前設定。

限制明確且不會截斷。輸入最多可包含 100,000 UTF-16 位元組與 2,000 路徑行。每條路徑最多包含 128 段,每段最多包含 255 UTF-16 位元組。渲染輸出有獨立的 500,000 位元組上限,因為深層字首可能導致樹狀圖遠大於原始清單。每一個精確的邊界皆被接受;下一單位、條目、段或輸出字元將被拒絕並顯示錯誤。不會返回任何前 N 項子集、縮短名稱、抽樣分支或部分樹狀圖。

重複的路徑會被拒絕,而不是靜默合併。如果先前的一行已經將其字首宣告為檔案,或新一行試圖將包含子專案之字首宣告為檔案,該路徑也會被拒絕。這些檢查針對精確的 JavaScript 字元串運作,因此大小寫變體會被視為不同,因為不同作業系統的檔案系統對大小寫敏感度不同。此工具並未聲稱符合 Windows、macOS 或 Linux 檔案名稱的正確性,僅提供跨平臺安全性的保證。

編輯輸入內容、變更分隔符或輸出樣式時,會立即清除先前的樹狀結構、錯誤訊息、摘要與複製狀態。產生失敗的情況下,不會顯示舊的正確樹狀結構。複製動作會 asynchronously 使用瀏覽器剪貼簿。產生令牌與掛載狀態保護機制確保編輯設定、重新複製或離開頁面時,不會讓遲到的剪貼簿承諾釋出過期的「已複製」訊息。若剪貼簿權限不可用,完整輸出仍會可見且可選取,供手動複製。

可將結果作為檔案說明使用,但建議在發布前進行審查。專案樹狀結構可能揭露內部模組名稱、客戶名稱、部署架構或敏感檔名,即使檔案內容不存在。此工具不會自動清除機密資訊、檢查忽略檔、標記符連結、計算大小、新增檔案註解、偵測權限,或將輸入的清單與實際倉庫對比。它僅是一個決定性文字轉換工具,並非檔案系統掃描器、歸檔讀取器、安全分析工具或版本控制客戶端。

方法與來源

拒絕空輸入與超過 100,000 UTF-16 字元單位的輸入。以換行符為分隔,移除每行 CRLF 結尾中的單一歸位字元,最多接受 2,000 檔案路徑。在選定的分隔符下,拒絕絕對路徑、驅動器根目錄形式、相反的分隔符、空段、點與上層段、其他 ASCII 控制字元、每筆輸入超過 128 段、或段長超過 255 字元單位。將精確段落插入記憶體中的字首樹中,拒絕重複的葉節點以及雙向的檔案/資料夾衝突。每層會先列出資料夾再列出檔案,並以 UTF-16 字元單位比較名稱。從點根開始渲染,使用正確的最後子節點字首,使用固定 Unicode 或 ASCII 連線符,若輸出長度會超過 500,000 字元單位則中止,不會截斷。輸入或設定變更會清除匯出狀態,而剪貼簿產生與掛載保護機制則可防止出現過期狀態。

常見問題

Directory Tree Generator 可以掃描我電腦上的資料夾嗎?
不可以。它僅會轉換你貼入的路徑,不會請求資料夾存取、讀取檔案內容、檢查元資料,或驗證路徑是否存在。
為何會拒絕重複的路徑與檔案/資料夾衝突?
每行宣告一個檔案。若靜默合併重複專案或將一個宣告的檔案視為資料夾,將改變輸入的本意,因此工具會報告衝突的那行。
Unicode 與 ASCII 輸出之間有何差異?
Unicode 使用方框繪製字元以呈現更清晰的分支結構;ASCII 則使用一般鍵盤字元,適用於方框繪製圖示可能無法正確顯示的環境。兩者結構與順序完全相同。
檔名中的空白、點號與大小寫會被保留嗎?
會。普通的空白、點號、前導點號以及字母大小寫皆會精確保留。控制字元、空段、點遍歷段、絕對路徑、混合分隔符皆會被拒絕。
我的專案結構會被上傳嗎?
不會。驗證、樹狀結構建立、排序、輸出渲染與剪貼簿寫入皆在當前瀏覽器標籤頁中執行,不會上傳任何內容。

開發者工具 使用指南

查看全部