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 指令未实测。