# Bulk Rename

> 從瀏覽器直接改資料夾裡每個檔案的名字：取代、前後綴、連號、正規表示式、EXIF 拍攝日期，先預覽全部新舊檔名再套用，整批可復原。只支援桌面版 Chromium，全程不上傳。

- URL: https://bytescope.dev/zh-Hant/bulk-rename/
- Locale: zh-Hant · Also: [en](https://bytescope.dev/en/bulk-rename.md) · [ja](https://bytescope.dev/ja/bulk-rename.md)
- Runs: 資料夾是瀏覽器直接在你自己的電腦上開啟的。檔名讀取、重新命名、寫回硬碟都在本機完成——不會上傳任何東西，內容也不會離開這個分頁。
- Requires: Chrome, Edge or Opera on desktop (File System Access API): the tool changes files inside the folder you pick. Other browsers cannot write into a folder, so they get a support matrix instead of the tool.
- Updated: 2026-09-08

## What it does

批次改檔名一直以來都得先裝點什麼——Bulk Rename Utility、PowerRename，或是 shell 一行指令——因為網頁只有在你把檔案上傳之後才看得到它們。File System Access API 改變了這件事：這一頁用 `showDirectoryPicker` 跟你要一個資料夾，你授權寫入，它就在原地改你的檔名。不複製到任何地方、不上傳，也沒有東西要安裝或登入。限制先講在前面，而不是讓你做到最後才發現：這個 API 只存在於桌面版的 Chromium 系瀏覽器——Chrome 和 Edge——Firefox 和 Safari 都沒有，頁面會直接告訴你，不會默默壞掉。

### 規則疊成一條鏈，照順序生效

改名是用一顆顆小規則疊成的管線：尋找取代、加前綴後綴、可補零的連號、大小寫轉換，還有一個支援擷取群組的正規表示式模式，留給簡單規則寫不出來的工作。照片有一顆專用規則，會讀出檔案的 `EXIF` 拍攝日期插進名字裡——用的是真正的 `DateTimeOriginal`，不是每複製一次就變一次的檔案修改時間。每顆規則的輸出餵給下一顆，所以 `IMG_0231.jpg` 一趟就能變成 `2024-06-14_holiday_001.jpg`。

### 預覽就是合約

你在組規則的期間，什麼都不會被改。每個檔案都列出「現在的名字」和「將會變成的名字」，每改一次規則就重算一次；衝突在你能按下套用之前就會被插旗：兩個檔案改向同一個新名字、新名字撞上既有檔案、檔案系統不接受的字元。整批要你明確確認才執行，而且預覽裡那份清單就是實際執行的那份——預覽和磁碟之間沒有驚喜。

### 復原，以及它誠實的極限

一批跑完之後，一鍵就能把全部改回去：工具會把這批的新舊名字對照記下來，存在瀏覽器的 local storage 裡，所以復原撐得過重新整理——關掉分頁、改天再回來、重新打開同一個資料夾，這批還是改得回去。反過來這件事也要講明白：你改了哪些名字的紀錄，會一直留在瀏覽器裡，直到下一批把它蓋掉為止。復原也不是魔法——只有在原名字還空著的時候才改得回去，而且遇到只是同名的另一個資料夾，它會拒絕動手。它設計上的使用方式是：改、看結果、不對就復原。

## Limits

Does not rename files on cloud drives or phones connected over USB, and does not move files between folders.

## FAQ

### 哪些瀏覽器可以用？

桌面版的 Chromium 系瀏覽器：Chrome、Edge，以及 Brave、Opera 這類 Chromium 衍生品。就地改檔名需要帶寫入權限的 File System Access API，Firefox 和 Safari 沒有實作——在那些瀏覽器上，頁面會給你一份誠實的說明，而不是一個壞掉的工具。行動瀏覽器同樣不行，包括 Android 版 Chrome 和 iOS 上的全部瀏覽器。「從網頁改自己磁碟上的檔名」這招只存在於有這個 API 的地方，這就是它的代價。

### 我的檔案會被上傳嗎？

不會——而且就改名這件事來說，連內容都幾乎不會被讀。改名字是瀏覽器代你在磁碟上做的本機檔案系統操作，檔案裡的 byte 跟它無關。唯一的例外是 EXIF 日期規則：它會在本機讀每張照片開頭的幾 KB 找 `DateTimeOriginal`，在你的分頁裡讀，哪裡都不去。這一頁是背後沒有 API 的靜態檔案——就算想收，也沒有伺服器可以收上傳。

### 兩個檔案改出同一個名字會怎樣？

在任何事發生之前，預覽就會插旗：兩個改名後的檔案互撞，或是撞上一個本來就存在的檔案，都會被標出來，而且在你修好規則或把那個檔案排除之前，整批套用都會被擋住。絕對不會有東西被默默覆蓋——一個會毀掉檔案的改名被當成錯誤處理，不會用猜的解決。至於批次內互換名字——兩個檔案對調，或三個以上繞一圈輪換——那不算衝突：工具會先把其中一個停到暫時的名字上，再照順序執行，什麼都不會被蓋掉。

### 改完可以復原嗎？

可以——工具記著這一批裡每一組新舊名字，一鍵全部改回去。這份紀錄存在瀏覽器的 local storage 裡，重新整理、改天再開都還在——反過來說，你改過哪些檔名的清單也會一直留在瀏覽器裡，直到被下一批取代。誠實的限制還是有：一個名字要還空著才改得回去，中間被別的東西佔走就沒辦法；而只是同名的另一個資料夾，復原不會對它動手。留著的只有最近一批，所以復原是對上一次執行的反悔，不是歷史批次的保險櫃。

### 外接硬碟或網路資料夾可以用嗎？

只要作業系統把它掛載成一般目錄就選得到，所以外接 USB 硬碟沒問題。掛載成磁碟機的網路共享通常也能用，但每一次改名都是一趟到共享的來回，大批次會比較慢，而且復原的前提是共享還掛著。Chromium 出於安全會拒絕授權某些系統資料夾；Dropbox 或 Google Drive 的同步資料夾則完全沒問題——同步程式看到的就是普通的改名。

## Related tools

- [File Hash](https://bytescope.dev/zh-Hant/file-hash.md) — 在瀏覽器裡計算檔案雜湊——MD5、SHA-1、SHA-256、CRC32。
- [Extract Archive](https://bytescope.dev/zh-Hant/extract-archive.md) — 不用上傳就能解開 zip、7z、rar、tar 壓縮檔。
- [File Type](https://bytescope.dev/zh-Hant/file-type.md) — 用 magic bytes 辨識檔案格式，不看副檔名。
