You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Mac Shell中批量将同名XMP数据写入JPEG文件?

批量将XMP元数据导入同名JPEG文件(Mac Shell环境)

优先推荐:ExifTool原生批量处理(无需循环)

ExifTool本身就支持批量匹配同名文件,不需要额外写Shell循环,这是最优雅高效的方式:

exiftool -tagsfromfile %d%f.xmp -all:all *.jpg

参数说明:

  • %d:保留当前文件的目录路径(确保子目录下的文件也能正确匹配同名XMP)
  • %f:提取当前JPEG文件的文件名(不含后缀)
  • 结合起来%d%f.xmp就会自动匹配与当前JPEG同名的XMP文件

如果需要递归处理子目录里的文件,加上-r参数即可:

exiftool -r -tagsfromfile %d%f.xmp -all:all *.jpg

备选:Shell For循环实现

如果偏好手动写循环,也可以用Bash遍历所有JPEG文件,替换后缀匹配XMP:

for jpg_file in *.jpg; do
    xmp_file="${jpg_file%.jpg}.xmp"
    # 可选:检查XMP文件是否存在,避免报错
    if [ -f "$xmp_file" ]; then
        exiftool -tagsfromfile "$xmp_file" -all:all "$jpg_file"
    fi
done

这里${jpg_file%.jpg}是Bash的参数替换语法,作用是去掉文件名末尾的.jpg后缀,再拼接.xmp得到对应的XMP文件名。加上if [ -f "$xmp_file" ]; then可以跳过没有对应XMP的JPEG,避免不必要的错误输出。

内容的提问来源于stack exchange,提问作者pcace

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 22:16:41