Claude Code 非工程師實戰・第 2 篇・約 10 分鐘
100 個「最終版(2)」檔名:用 Claude Code 批次改名,而且改錯可以救回來
本文目錄
寫作時版本:Claude Code 2.1.x(實測 2.1.311)/2026 年 10 月。 Claude Code 更新很快,畫面文字、預設值、指令名稱都可能改變。看到的畫面和本文不一樣時,請以官方文件為準。
這篇文章要幫你做到什麼
你的資料夾裡大概有這種東西:報告最終版.docx、報告最終版(2).docx、報告最終版_改.docx、IMG_20260312_0001.jpg……
這篇要做的是:用中文描述命名規則,讓 Claude Code 先產生一份「改名對照表」讓你核對,核對完才執行;而且執行前就先備好「一鍵還原」的辦法。 就算 100 個檔案改到一半覺得不對,也能全部改回原名。
需要準備:
- 已照第 1 篇裝好並登入 Claude Code(Windows 11 為主,Mac 差異另外標)
- 約 30 分鐘
先講結論:改檔名最怕的不是改錯,是「改了之後回不去」
第 1 篇提過一個容易踩的雷,這篇要正面處理:
/rewind只追蹤 Claude 用檔案編輯工具改過的檔案。用指令(PowerShell/Bash)改檔名,不在追蹤範圍內,/rewind不會把它們變回來。(依官方 Checkpointing 文件)
而批次改名幾乎一定是用指令做的。所以救援不能靠 /rewind,要靠這個老辦法:
改名之前,先把「舊檔名 → 新檔名」存成一張表(CSV)。有這張表,要改回去只要照著反向再跑一次。
這就是本文的核心:對照表 = 執行依據 = 還原依據。
步驟 1:建一個有 100 個爛檔名的練習資料夾
不要拿真的資料夾練。打開 PowerShell,貼上下面這段(一次貼完按 Enter),它會在 Claude練習 底下建 改名練習 資料夾,裡面放 100 個空檔案:
$dir = "$env:USERPROFILE\Claude練習\改名練習"
New-Item -ItemType Directory -Force $dir | Out-Null
$names = "報告","企劃書","報價單","會議記錄"
$suffix = "最終版","最終版(2)","最終版_改","final","final_v2","新版"
foreach ($n in $names) { foreach ($s in $suffix) { 1..4 | ForEach-Object { New-Item -ItemType File -Force -Path "$dir\$n`_$s`_$_.txt" | Out-Null } } }
1..4 | ForEach-Object { New-Item -ItemType File -Force -Path "$dir\IMG_20260$_`_0001.jpg" | Out-Null }
(Get-ChildItem $dir).Count
最後一行應該印出 100。(這段指令作者已在 Windows 11 實測。Mac 使用者請手動複製一批自己的檔案副本進去即可。)
這 100 個檔案是空的,只是用來練習檔名。想用自己的檔案也行,請複製副本,不要用原件。
步驟 2:在練習資料夾啟動,並先切到手動模式
cd "$env:USERPROFILE\Claude練習\改名練習"
claude --permission-mode manual
manual 模式下,大多數改檔案、跑指令的動作它都會先問你(細節見第 1 篇步驟 4)。畫面下方應顯示 ⏸ manual mode on。
步驟 3:先「看」,不要動
請先不要修改或改名任何檔案。列出這個資料夾裡的檔案,告訴我目前有哪幾種命名模式(例如「最終版」「final」「IMG_日期」),每種大約有幾個。
這一步在確認:它看到的是對的資料夾,而且它對你的檔名「長怎樣」的理解跟你一致。
步驟 4:用中文寫命名規則
規則越具體越好。給你一個範本,直接改成你要的:
我要整理這個資料夾的檔名,規則如下:
1. 只處理 .txt 和 .jpg,其他檔案不要動。
2. .txt 檔:原檔名格式是「專案名_版本字樣_數字.txt」。請改成「專案名_v編號_流水號.txt」,算法如下:
- 專案名:檔名開頭的「報告」「企劃書」「報價單」「會議記錄」,原樣保留。
- v編號:依版本字樣固定對應——最終版=v1、最終版(2)=v2、最終版_改=v3、final=v4、final_v2=v5、新版=v6。
- 流水號:原檔名結尾的數字 1~4,補成兩位數 01~04。
- 例:「報告_最終版(2)_3.txt」→「報告_v2_03.txt」;「企劃書_final_v2_1.txt」→「企劃書_v5_01.txt」。
3. .jpg 檔:原檔名 IMG_20260X_0001 的格式,改成「照片_2026-0X_0001.jpg」。
4. 不得有兩個檔案改完後同名;若會撞名,在後面加 -a、-b。
5. 不要刪除任何檔案,只能改名。
重要:現在先不要改名。請先產生一份「改名對照表.csv」,兩欄:「舊檔名」「新檔名」,放在上一層資料夾(不要放在改名練習裡面)。CSV 請存成「UTF-8 with BOM」編碼(Windows PowerShell 5.1 和 Excel 才不會把中文欄名讀成亂碼)。存好後停下來等我確認。
幾個重點:
- 規則寫「例子」。只說「統一格式」它會自己猜;給一個範例,它猜錯的機會小很多。
- 明確寫「不要動什麼」。例如「其他副檔名不要動」。
- 對照表放資料夾外面。否則它自己也會被當成要改名的檔案。
- 最後一句「先不要改名」不能省,這是整篇文章最重要的一句。
步驟 5:核對對照表(人要自己看)
它產生 改名對照表.csv 後,用 Excel 或記事本打開(位置在 改名練習 的上一層,也就是 Claude練習)。檢查四件事:
- 數量對嗎? 表的列數應該等於要處理的檔案數(這個練習是 100 列)。
- 有沒有兩個舊檔名改成同一個新檔名? 在 Excel 選「新檔名」那欄 → 條件式格式設定 → 重複的值,有標色就是撞名。
- 抽查 10 筆,看新檔名是不是你要的樣子。
- 有沒有不該動的檔案被列進來?
不滿意,直接用中文說:「第 3 條規則改成……,請重新產生對照表,一樣先不要改名。」重複到滿意為止。這個階段什麼檔案都沒動,隨便你改。
步驟 6:先備好「還原指令」,再執行
這是關鍵順序:先要還原辦法,再要執行。 接著輸入:
對照表我確認過了。請做兩件事,但先不要執行改名:
1. 把這份對照表複製一份,存成「改名對照表_備份.csv」。
2. 寫一個「還原.ps1」放在同一個位置(改名練習的上一層),內容是:用 -Encoding UTF8 讀取對照表,把「新檔名」逐個改回「舊檔名」;如果某個新檔名不存在,就跳過並印出提示,不要報錯中斷。
寫完讓我看過內容,我同意後再執行改名。
它寫完會把 還原.ps1 的內容給你看。你不需要看懂每個符號,但可以直接問它:「請用白話告訴我這個還原檔會做什麼。」一個合理的還原檔,邏輯很單純:
# 示意:在「改名練習」資料夾內執行;對照表在上一層,所以用 ..\ 指到它
Import-Csv -Path "..\改名對照表.csv" -Encoding UTF8 | ForEach-Object {
if (Test-Path -LiteralPath $_.新檔名) {
Rename-Item -LiteralPath $_.新檔名 -NewName $_.舊檔名
} else {
Write-Host "找不到 $($_.新檔名),跳過"
}
}
(注意:跑之前要先 cd 到「改名練習」資料夾,..\改名對照表.csv 才找得到上一層的對照表。上面這段示意未逐字實測;「對照表 + 反向改名」的概念是標準做法,但中文欄名搭配 BOM 編碼的實際讀取結果,請在練習資料夾先試跑一次,確認印出的數量正確再用在重要檔案。)
步驟 7:執行改名
確認備份與還原檔都就緒,才說:
好,請依對照表執行改名。改完後告訴我:成功幾個、失敗幾個、失敗的原因。
它會一步步請你同意。單純按 Yes,不要選「切換到自動模式」或「這次工作階段都允許」那類選項(原因見第 1 篇步驟 6)。
改完用 Get-ChildItem 或檔案總管檢查,並對照它回報的數字。
步驟 8:改錯了怎麼救(三個層級)
層級 1:還沒改,只是對照表不對。 直接叫它重做對照表,什麼都沒動,沒有損失。
層級 2:已經改了,想全部改回去。 在 Claude Code 裡說:
請執行「還原.ps1」,把檔名全部改回改名前的狀態,完成後告訴我有幾個檔案還原成功、幾個被跳過。
或者不透過 Claude,自己在 PowerShell 裡切到那個資料夾,執行那個 .ps1。這時才體會到「還原檔」的價值:就算 Claude Code 當掉、你關掉視窗了,這個檔還在。
如果 PowerShell 說「在這個系統上已停用指令碼執行」,是 Windows 預設的執行原則擋住。可請 Claude 把還原的內容改成直接貼進 PowerShell 的一段指令,或查微軟的 ExecutionPolicy 說明(此情況作者未實測,標示「待驗證」)。
層級 3:改到一半中斷了,或有些檔案改了有些沒改。 這正是「跳過找不到的檔案」那條規則的用途:還原檔可以安全地重複執行,已經是舊檔名的不會被動到。
最後一道保險: 對真正重要的資料夾,動手前先整個複製一份。對照表救得了檔名,救不了「你不小心要它刪掉的檔案」。
步驟 9:把這套規則存起來,下次一句話搞定
規則滿意了,請它寫進 CLAUDE.md:
請把我們這次的命名規則,還有「改名一定要先產生對照表並等我確認、並備好還原檔才能執行」這個流程,寫進這個資料夾的 CLAUDE.md。
之後在同個資料夾啟動 Claude Code,只要說「照規則整理新檔案」,它就會依慣例先出對照表。(CLAUDE.md 怎麼寫,下一個系列篇會專門講。)
三個「不要」
- 不要跳過對照表直接說「幫我全部改好」。 100 個檔案的錯誤,你肉眼很難事後發現。
- 不要對雲端同步資料夾(Google Drive、OneDrive)或共用磁碟批次改名。 同步程式可能在你改到一半時就開始上傳/衝突。
- 不要在對照表被改過之後,還拿舊的還原檔去還原。 還原檔和對照表是一組,改了其中一個,兩個都要重做。
下一篇預告
第 3 篇:《讓它記住你的習慣:非工程師的 CLAUDE.md 怎麼寫》 講 CLAUDE.md 要放什麼、不要放什麼、怎麼確認它真的讀到。
想要可以直接套用的範本?
👉 看數位商品
參考來源(均為官方文件,2026-10 查閱)
- Checkpointing(
/rewind的追蹤範圍與限制):https://code.claude.com/docs/zh-TW/checkpointing - 選擇權限模式:https://code.claude.com/docs/zh-TW/permission-modes
- 記住您的專案(CLAUDE.md):https://code.claude.com/docs/zh-TW/memory
- 文件首頁:https://code.claude.com/docs/zh-TW
操作說明:步驟 1 的產生指令作者在 Windows 11 PowerShell 5.1 實測;步驟 6 的還原示意(路徑、BOM/UTF8 讀取)未實測;Claude Code 的實際對話畫面、它產生的還原檔寫法,會因版本與當次回答而異,本次未逐字實測,請以你看到的畫面為準。Mac 指令未實測。