使用簡單的 DOS 指令與批次檔,快速產生資料夾裡面所有的目錄與檔案名稱清單。
有時候我們在一個目錄之下放了多的檔案,想要將所有的檔案名稱列出來變成清單,這種狀況很常見,而且也很困擾,因為檔案總管沒有這個功能,也不太可能手動複製每個檔案名稱。
遇到這樣的狀況時,就可以利用簡單的 DOS 指令與批次檔來處理。
產生檔名清單
若要快速產生檔案名稱的清單,最方便的做法就是先建立一個 Windows 批次檔,透過執行批次檔的方式自動產生清單的文字檔案,以下是操作步驟。
Step 1
打開記事本,輸入以下這幾行 DOS 指令:
REM 列出檔案名稱,依照檔名排序 dir /b /on > list.txt
第一行是註解,用來說明程式碼意義(給人看的),第二行是將 dir
指令的輸出導向至 list.txt
這個檔案中,儲存為檔案清單,而 dir
的 /b
參數代表只輸出檔案名稱就好,而 /on
則是依照檔名來排序的意思。
Step 2
將編輯好的程式碼儲存為 Windows 批次檔(.bat
檔),放在要列出檔案名稱的目錄中。存檔的時候,請將「存檔類型」改為「所有檔案」,然後自己輸入檔案的名稱與附檔名,副檔名要取為 .bat
。
將批次檔跟所有的檔案放在一起之後,接著就用滑鼠點兩下執行它。
Step 4
批次檔執行之後,就會在同一個目錄之下產生一個檔案清單,其檔案名稱就是我們在 DOS 指令中設定好的 list.txt
。
Step 5
打開 list.txt
這個文字檔之後,就可以看到所有檔案名稱的清單了。
其他範例
如果要將檔案的修改時間、大小等資訊都一起輸出的話,可以修改一下 DOS 指令:
REM 列出完整資訊,依照檔名排序 dir /on > list.txt
輸出的結果會類似這樣:
依照檔案大小排序:
REM 列出完整資訊,依照檔案大小排序 dir /os > list.txt
依照檔案修改日期排序:
REM 列出完整資訊,依照日期排序 dir /od > list.txt
依照檔案的副檔名排序:
REM 列出完整資訊,依照副檔名排序 dir /oe > list.txt
若想要連同所有子目錄底下的所有檔案都一起列出來的話,可以加上 /s
參數:
REM 列出所有子目錄下的檔案,依照檔名排序 dir /b /on /s > list.txt
Alex 表示:
請問如果要連設定隱藏的資料夾及檔案都列出來該如何設定?
謝謝
friday 表示:
在網路位置上的資料夾無法執行(未見生成list.txt),請問是否有解?
Freepon 表示:
請教,因為目錄子目錄太多,如何在滿的時候切換存在其他分頁?
目前為存csv檔案
如何在同一個活頁簿滿的時候自動存下一個活頁簿?
Peter 表示:
可以依照儲存位址排序列出嗎?
nicee 表示:
您好,請問檔名有日文字要如何做?
Aaron 表示:
REM 列出檔案名稱,依照檔名排序
chcp 65001
dir /b /on > list.txt
Nora 表示:
您好 請問是否可以顯示檔案影片的長度