面對數百張照片、文件需依規則重命名(如加前綴、流水號、日期),逐一修改極其耗時。本文教您善用 dir 匯出檔名、Excel 產生新舊對照表、批次檔 (.bat) 一鍵執行重命名,零成本自動化完成大量檔案重命名。
dir /b > list.xls 匯出檔名清單ren "舊名" "新名" 指令rename.bat 執行C:\rename_demo,將待重命名檔案全部放入(範例:IMG_001.jpg、IMG_002.jpg...)。
cmd 開啟命令提示字元。
cd /d C:\rename_demodir /b > filelist.xls/b:僅顯示檔名(無日期/大小)>:重導向輸出到檔案

💡 提示:若檔名含中文/特殊字元,建議在 CMD 執行 chcp 65001 切換 UTF-8 編碼頁,或確保系統預設代碼頁 (950/936) 正確。
filelist.xls,A 欄為原檔名。Photo_001.jpg)。Photo_002.jpg、Photo_003.jpg...)。
Thumbs.db 等非目標檔案)。= "ren " & CHAR(34) & A1 & CHAR(34) & " " & CHAR(34) & B1 & CHAR(34)CHAR(34) 為雙引號,確保檔名含空格時指令正確。產生指令如:ren "IMG_001.jpg" "Photo_001.jpg"

rename.bat、儲存類型「所有檔案」、編碼 ANSI/UTF-8(依檔名編碼) → 存放在 C:\rename_demo\。


rename.bat 執行,視窗快速閃過指令,完成重命名。
| 需求 | B欄公式範例 | 說明 |
|---|---|---|
| 加前綴 | ="Prefix_" & A1 | 原檔名不變,前面加字串 |
| 加後綴 | =SUBSTITUTE(A1,".","_Suffix.") | 在副檔名前插入字串 |
| 流水號重命名 | ="File_" & TEXT(ROW(),"000") & "." & MID(A1,FIND(".",A1,LEN(A1)-4)+1,LEN(A1)) | 提取原副檔名,主檔名改為 File_001 格式 |
| 日期前綴 | =TEXT(TODAY(),"YYYYMMDD_") & A1 | 加上今日日期 |
| 移除特定字串 | =SUBSTITUTE(A1,"IMG_","") | 刪除主檔名中特定字串 |
COUNTIF 檢查 B 欄重複值。dir /b 不會列出隱藏/系統屬性檔案,若需包含請加 /a 參數。