用 Codex 批次改檔名:先預覽,再執行與撤回
一堆圖片叫 IMG_1032.png、IMG_1051.png,想整理成「活動照片_001、002……」,可以讓 Codex 寫一個小工具。第一步先生成改名清單,核對完再執行。
原演示用了8張程式生成的示例 PNG,目的是驗證改名流程,不是真實照片整理記錄。
預覽裏至少看三件事
| 要檢查的內容 | 為什麼要看 |
|---|---|
| 原名和新名逐項對應 | 確認順序、編號和檔案範圍 |
| 原副檔名保留 | 改名不會自動轉換圖片格式 |
| 目標檔案是否已經存在 | 避免覆蓋已有資料 |
本例按原檔名排序,不按拍攝時間。想按照片日期排序,需要另行讀取並處理元資料,不能從檔名順序推斷。
可以先把下面這段交給 Codex:
先檢查這個測試資料夾,只列出原名→新名的預覽。
按原檔名排序,保留副檔名,跳過資料夾。
發現目標重名時停止,不能覆蓋。
我核對後再執行,並儲存原名、新名及檔案內容校驗記錄。
先用複製出來的少量檔案驗證預覽、執行和撤回。
執行前再查一次衝突
預覽通過以後,目錄也可能發生變化。真正改名之前應重新檢查整批目標,發現衝突先停下。撤回也要檢查原名是否被佔用、檔案內容是否已經改變;一份舊映射不能代替當前狀態。
這還與執行系統有關。Python 官方說明,Path.rename() 在目標已存在時,Windows 與 Unix 的行為不同。本演示因此只開放 Windows 執行,不把一個系統的保護假設套到另一個系統。Python:Path.rename
原測試的結果
2026年10月6日,Windows / Python 3.13.5 的實際執行記錄確認:
- 只預覽時,檔名與內容未變。
- 8個檔案執行改名後內容一致,按記錄撤回後原名和內容恢復。
- 預覽後加入目標重名檔案,整批沒有執行。
- 撤回時發現原名被佔用或內容改變,會停止。
改名記錄只是對應關係,不能替代檔案備份。原測試沒有覆蓋 Mac、網盤、併發操作或執行中斷後的自動恢復。本文於2026年10月27日整理,沒有重新執行上述實驗。
香港繁體版整理日期:2026年10月28日。原文引用的產品說明核對截至2026年10月27日;原實驗日期與範圍保留於文中。