Mac批量改文件后缀有三种方法:先开启“显示所有文件扩展名”;访达右键“重命名”用“替换文本”最安全;终端for循环或zmv命令处理特殊字符更可靠;简介面板多选强制统一修改适用于Finder失效场景。

你在Mac上有一堆.jpg文件要统一改成.jpeg,或者几十个.log需要转成.txt,但逐个右键改名太耗时间,Finder界面又不支持直接批量替换后缀——系统自带的访达重命名功能、终端命令和简介面板三种路径都能快速完成,且各自适用不同场景。
先让所有文件显示扩展名
这一步是后续所有操作的前提,不开启就看不到“.txt”“.jpg”,光标根本停不到后缀位置,任何重命名都会失败。
打开任意访达窗口 → 点击顶部菜单栏「访达」→「设置」(Ventura及更新系统)或「偏好设置」(旧版)→ 切换到「高级」标签页 → 勾选【显示所有文件扩展名】 → 关闭窗口,更改立即生效。
用访达批量重命名一次性改后缀
这是最安全、最直观的方法,适合日常办公,无需命令行,还能预览结果再执行。
在访达中打开目标文件夹,按Command+A全选需修改后缀的文件。
右键任意一个已选中文件 → 选择「重命名 X 个项目…」(X为实际数量)。
在弹出窗口中选择「替换文本」模式。
在「查找」栏输入原始扩展名(不含点),例如jpg;在「替换为」栏输入新扩展名(同样不含点),例如jpeg。
务必勾选「区分大小写」——否则文件名里带“jpg”的部分(如“my_jpg_backup”)也会被误替换成“my_jpeg_backup”,【这一步漏掉会导致批量改错】。
点击「重命名」,系统立即完成全部替换,并弹出完成提示。
用终端命令处理含空格或特殊字符的文件
当你面对文件名含空格、括号、中文或上百个文件时,访达界面可能卡顿甚至跳过某些文件,终端更可靠。
方法一:基础for循环
打开「终端」→ 输入cd加空格 → 将目标文件夹直接拖进终端窗口 → 回车进入路径。
执行命令:for f in *.log; do mv "$f" "${f%.log}.txt"; done——将当前目录所有.log改为.txt。
注意:双引号包裹"$f"和${f%.log}的语法不能错,否则遇到“report (final).log”这类文件会报错或只处理“report”部分。
方法二:zsh内置zmv(推荐macOS Catalina及更新系统)
先运行autoload -Uz zmv加载模块 → 再执行zmv '(*).JPG' '$1.jpg',自动把所有大写.JPG转为小写.jpg,且不会覆盖同名文件。
通过简介面板强制统一修改同一类文件
当你只有一类文件(比如全是.png),但访达重命名失效,或你想绕过Finder的扩展名锁定机制时,这个方法最直接。
第一步:在访达中选中第一个目标文件,按Command+I打开简介窗口。
第二步:按住Command键不放,再点击其他同类型文件(如其余.png文件),实现多选。
第三步:在简介窗口的“名称与扩展名”区域,点击扩展名部分(如.png),使其高亮可编辑。
第四步:删除原扩展名,输入新扩展名(如.webp),注意保留前面的点。
第五步:关闭窗口,系统弹出警告框,勾选【始终使用此扩展名】后点击“继续”——这一步必须勾选,否则仅对当前选中文件生效,其余文件不会同步更改。










