Mac批量改图片扩展名有五种方法:一、访达重命名可视化替换;二、终端for循环mv命令;三、zsh的zmv安全重命名;四、find递归跨目录修改;五、简介窗口手动覆盖。

如果您在Mac上需要一次性更改多张图片的文件扩展名,但逐个修改效率低下且易出错,则可能是由于系统默认隐藏扩展名、访达未启用批量编辑功能或图形界面无法安全处理大量图片文件。以下是解决此问题的步骤:
一、使用访达“重命名”功能可视化替换后缀名
该方法无需命令行,通过macOS原生访达界面实现可视化批量替换,适用于日常图片整理场景,支持精确匹配旧扩展名并统一替换为新后缀,且可预览结果避免误操作。
1、在访达中打开存放图片的目标文件夹,按 Command + A 全选需修改后缀的图片文件。
2、右键任意一个已选中图片,在快捷菜单中选择「重命名 X 个项目…」。
3、在弹出窗口中选择「替换文本」模式。
4、在「查找」栏输入原始扩展名(不含点,如 jpg);在「替换为」栏输入新扩展名(不含点,如 jpeg)。
5、勾选「区分大小写」以确保仅匹配指定大小写的扩展名形式(例如仅替换小写 png,不误改 PNG)。
6、点击「重命名」,系统立即执行全部替换并显示完成提示。
二、使用终端 for 循环配合 mv 命令批量修改图片后缀名
该方法直接调用系统底层文件移动机制,不依赖图形界面状态,适用于所有 macOS 版本,尤其适合处理含空格、特殊字符或大量图片文件的场景,执行速度快且可控性强。
1、打开“终端”应用(位于“应用程序 → 实用工具”中)。
2、输入 cd 加空格,再将目标图片文件夹拖入终端窗口,回车进入该路径。
3、执行以下命令将当前目录下所有 .heic 图片改为 .jpg:for f in *.heic; do mv "$f" "${f%.heic}.jpg"; done。
4、执行 ls -la *.jpg 查看当前目录 jpg 文件列表,确认扩展名已更新。
三、使用终端 zsh 内置 zmv 命令安全批量修改图片后缀名
zmv 是 zsh shell 提供的安全重命名函数,自动检测名称冲突并阻止覆盖,支持复杂模式匹配与变量运算,适用于 Catalina 及更新版本(默认 shell 为 zsh),避免手动编写循环逻辑出错。
1、在终端中运行 autoload -Uz zmv 加载重命名模块。
2、将所有大写扩展名 .JPG 统一转为小写 .jpg 并保留原文件名:zmv '(*).JPG' '$1.jpg'。
3、将文件名中连续两个下划线 __ 替换为单个下划线 _ 同时修改后缀:zmv '(**/)*__*(.).JPG' '${2//__/_}$3.jpg'。
4、执行完毕后,使用 ls *.jpg 验证变更结果。
四、使用 find 命令跨子目录批量修改图片后缀名
当图片分散在多层子文件夹中时,find 可递归定位匹配项,并结合 bash -c 执行动态重命名,突破单一目录限制,同时支持按文件类型筛选,提升操作精准度。
1、在终端中进入父级目录(如桌面或图库根目录)。
2、执行以下命令将所有子目录下的 .tiff 图片批量改为 .png:find . -type f -name "*.tiff" -exec bash -c 'mv "$1" "${1%.tiff}.png"' _ {} \;。
3、添加 -maxdepth 2 参数可限制搜索深度(如仅扫描当前目录及其一级子目录)。
4、执行 find . -name "*.png" | head -10 查看前10个匹配结果,确认修改生效。
五、“显示简介”窗口统一覆盖图片扩展名
该方法适用于少量图片或需逐个确认的场景,利用 macOS 文件属性界面直接编辑扩展名,操作直观、无命令风险,且系统会主动提示是否更改扩展名。
1、在访达中选中一张图片,按 Command + I 打开“显示简介”窗口。
2、在“名称与扩展名”区域,点击扩展名部分(如 jpg),使其高亮可编辑。
3、输入新扩展名(如 webp),系统弹出警告:“你正在更改此项目的扩展名……”。
4、点击 “继续” 确认更改。
5、对其他图片重复上述步骤;若需批量同步,可先复制该图片的完整新名称(含新扩展名),再粘贴至其余图片的“名称与扩展名”字段中。

















