檔案批次重新命名
拖入上千個檔案依範本與序號批次改名,逐行預覽手動調整、重名自動避讓,改名後打包 ZIP 或產生改名腳本
把要重命名的文件拖到这里,或点击选择
支持一次添加上千个文件,类型不限(照片、视频、文档、压缩包都可以)
改名、打包、生成脚本都在浏览器本地完成,文件内容不会被上传
改名、打包、生成脚本都在浏览器本地完成,文件内容不会被上传
重命名规则
还可使用 {date} 今天日期、{time} 当前时间、{mtime} 文件修改日期、{size} 文件大小。
模板里没写 {ext} 时,扩展名会自动保留在末尾;写了就按你放的位置来。
空格改成:
工具介紹
批次改名麻煩的從來不是「改一個」,而是改完發現兩個撞名了、副檔名被吃掉了、或者已經想不起來原來叫什麼。這個工具把改名做成可以逐行預覽的規則:檔案拖進來,改一下範本就能看到每一行的新名字,確認沒問題再決定怎麼落地。
- 命名範本:
{name}主名、{n}序號、{ext}副檔名、{date}今天、{time}目前時間、{mtime}檔案修改日期、{size}檔案大小,常用範本做成按鈕一鍵填入 - 序號可控:起始值、步長、補零位數分開設定,10 起步、步長 5、四位補零就是
0010 / 0015 / 0020;關掉某一行的改名開關後它不佔號,後面的編號自動前移 - 尋找取代支援正規表達式:打開後可用
$1、$2反向參照,把^(\w+)\s(\d+)換成$2_$1,「DSC 0421」就變成「0421_DSC」;表達式寫錯只在行內提示並保留原名,不會把整列名字清空 - 大小寫與清理:主名可整體轉小寫、大寫、首字母大寫或每詞首字母大寫;空格能換成 -、_ 或直接移除;
\ / : * ? " < > |這些非法字元預設清理,重複分隔符自動合併,首尾多餘的點與空格去除,CON、NUL、LPT1這類系統保留名會加上底線前綴 - 副檔名四種處理:保持原樣、統一小寫、統一大寫、強制指定。範本裡寫了
{ext}就依你放的位置走,沒寫則自動把原副檔名接回末尾,不會出現改完打不開的情況 - 重名自動避讓:新名字撞車時自動追加
(2)、(3),也可以選「保持原名不改」;大小寫不同同樣算重名,因為 Windows 與 macOS 預設都不區分大小寫 - 逐行手動調整與排除:預覽表格裡任何一行都能直接改,手動改過的行不會被後續規則變化覆蓋,點「還原」重新跟隨規則;不想動的行可以排除,改完想還原也能整行移除
- 排序決定編號順序:依加入順序、名稱、大小、修改時間排好再編號。先依修改時間從新到舊排序,再套
{n},就得到一組依拍攝先後連續的編號 - 三種落地方式:打包下載改名後的 ZIP(可選平鋪或依原目錄分層)、複製新檔名清單、複製「原名 → 新名」對照表
- 產生改名腳本:PowerShell、批次檔、Shell 三種格式,逐條給出
Rename-Item、ren、mv -n,原名與新名都做了引號轉義,複製到目標目錄即可執行
為什麼還要給腳本
瀏覽器出於安全不能直接修改你硬碟上的檔名,所以「打包下載」拿到的是重新命名後的副本。想在原目錄就地改名,用產生的腳本更穩妥:檔案多、體積大、或者需要保留權限與修改時間時,腳本只改名字不動內容,也不必把幾 GB 的檔案讀進記憶體。
使用情境
- 手機匯出的照片全是
IMG_2043 副本 (1).JPG,想依拍攝先後統一成IMG_0001 - 下載目錄裡的檔名帶著空格和中文括號,丟給伺服器或 Git 就出問題,需要一次清理成安全字元
- 會議錄音、訪談轉寫依「日期 + 序號」歸檔,方便和記錄對上
- 掃描件的
scan0001.pdf想換成合約-20261020-01.pdf這類帶業務含義的名字 - 整個目錄的圖片副檔名有
.JPG也有.jpg,網頁引用時區分大小寫會 404 - 把一批檔案改成統一前綴加連續編號,同時留下原名與新名的對照表備查
常見範本速查
| 想要的效果 | 命名範本 | 配套設定 | 得到 |
|---|---|---|---|
| 照片連續編號 | IMG_{n} | 位數 4 | IMG_0001.JPG |
| 依拍攝日期分組 | {mtime}_{n} | 位數 3,先依修改時間排序 | 20260511_001.JPG |
| 只清空格與符號 | {name} | 空格改成 -,清理非法字元 | DSC-0421-副本.JPG |
| 全部轉小寫 | {name} | 大小寫選全部小寫,副檔名統一小寫 | photo.png |
| 去掉相機前綴換個頭 | {name} | 正規表達式尋找 ^DSC\s* 取代為空 | 0421.jpg |
| 掃描件依日期編號 | scan_{date}_{n} | 位數 2,副檔名統一小寫 | scan_20261020_01.pdf |
常見問題
- 會不會把檔案改壞?不會。改名規則只作用在檔名上,打包時讀取的是原始位元組,內容一個位元組都不動;頁面也不寫你的磁碟
- 一次能處理多少個?上限 2000 個。檔案很多時預覽只畫前 400 行,但編號、重名避讓、腳本和打包仍然涵蓋全部檔案
- ZIP 為什麼不壓縮?照片、影片、安裝包本身已經壓縮過,再壓一遍省不了多少還慢;不壓縮儲存讀寫都快,也避免瀏覽器裡的大記憶體開銷。單一檔案或總量接近 4GB 時會拒絕打包並建議你用腳本
- 拖整個資料夾會保留層級嗎?預設平鋪到 ZIP 根目錄,同名檔案自動讓位;想保留結構就在打包選項裡選「依原資料夾分層」
- 腳本要注意什麼?腳本裡只有檔名,執行前要先切到檔案所在目錄;批次檔的
ren遇到同名目標會報錯停止,mv -n則跳過不覆蓋。第一次建議先在副本目錄裡跑一遍 - 點檔案怎麼算?
.gitignore這類只有前導點的名字視作「無副檔名」,前導點會被保留,不會被當成空主名 - 副檔名會不會丟?預設會自動接回原副檔名。只有兩種情況由你自己負責:範本裡寫了
{ext},或者勾了「連副檔名一起取代」(此時整名都交給取代步驟,不再自動補) - 只改某幾類檔案怎麼辦?把不想動的行在「改名」欄裡關掉即可;也可以先依名稱或修改時間排序,讓同類檔案聚在前幾行再統一處理
- 資訊會上傳嗎?不會。檔案讀取、規則計算、打包與腳本產生都在瀏覽器本地完成,頁面不發任何請求,重新整理即清空
改之前想先看清檔案屬性可用檔案資訊讀取;只要一份檔名清單可用檔名提取;把後綴與主名拆開或單獨改後綴大小寫,用檔名後綴拆分和後綴大小寫轉換;改名後要確認副本與原檔一致,用檔案 MD5 計算核一遍;配合新名字批次建立目錄結構可參考資料夾批次建立。