批量替换文件名中的文字来重命名

用 shell 循环加参数展开安全地批量改名,无需第三方工具。

macOS重命名文件自动化中风险
在目标文件夹运行 `for f in *旧字*; do mv -n "$f" "${f//旧字/新字}"; done`。

01命令

命令
$ cd ~/Downloads/照片 && for f in *IMG*; do mv -n "$f" "${f//IMG/照片}"; done

02作用说明

Bash 的 `${f//old/new}` 会替换变量中所有匹配,引号可以防止空格把文件名拆开——这两点是批量改名最常见的翻车原因。`mv -n` 遇到同名文件不会覆盖。把 `mv -n` 换成 `echo mv -n` 可以先空跑一遍预览改名效果。

03风险

风险中风险
!注意: 正式改名前务必先空跑预览;`${f//…}`(两个斜杠)替换所有匹配,`${f/…}`(一个斜杠)只替换第一个;系统没有内置撤销,反向循环是唯一保险,执行后建议打开文件夹窗口核对。

04撤销

撤销
$ cd ~/Downloads/照片 && for f in *照片*; do mv -n "$f" "${f//照片/IMG}"; done

05来源

最后验证: 2026-09-18 · 分类: 文件与文件夹

06相关方案