用 Codex 批量改文件名:先预览,再执行与撤回

一堆图片叫 IMG_1032.png、IMG_1051.png,想整理成“活动照片_001、002……”,可以让 Codex 写一个小工具。第一步先生成改名清单,核对完再执行。

原演示用了8张程序生成的示例 PNG,目的是验证改名流程,不是真实照片整理记录。

预览里至少看三件事

要检查的内容 为什么要看
原名和新名逐项对应 确认顺序、编号和文件范围
原后缀保留 改名不会自动转换图片格式
目标文件是否已经存在 避免覆盖已有资料

本例按原文件名排序,不按拍摄时间。想按照片日期排序,需要另行读取并处理元数据,不能从文件名顺序推断。

可以先把下面这段交给 Codex:

1
2
3
4
5
先检查这个测试文件夹,只列出原名→新名的预览。
按原文件名排序,保留后缀,跳过文件夹。
发现目标重名时停止,不能覆盖。
我核对后再执行,并保存原名、新名及文件内容校验记录。
先用复制出来的少量文件验证预览、执行和撤回。

执行前再查一次冲突

预览通过以后,目录也可能发生变化。真正改名之前应重新检查整批目标,发现冲突先停下。撤回也要检查原名是否被占用、文件内容是否已经改变;一份旧映射不能代替当前状态。

这还与运行系统有关。Python 官方说明,Path.rename() 在目标已存在时,Windows 与 Unix 的行为不同。本演示因此只开放 Windows 执行,不把一个系统的保护假设套到另一个系统。Python:Path.rename

原测试的结果

2026年10月6日,Windows / Python 3.13.5 的实际运行记录确认:

  • 只预览时,文件名与内容未变。
  • 8个文件执行改名后内容一致,按记录撤回后原名和内容恢复。
  • 预览后加入目标重名文件,整批没有执行。
  • 撤回时发现原名被占用或内容改变,会停止。

改名记录只是对应关系,不能替代文件备份。原测试没有覆盖 Mac、网盘、并发操作或执行中断后的自动恢复。本文于2026年10月27日整理,没有重新运行上述实验。