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

如何在R中借助exiftool为图片EXIF写入标签与值?

在R中使用exiftool写入EXIF键值的正确方法

你遇到的错误是因为直接在R控制台输入exiftool命令,R会将其当作R代码解析,自然报错。必须通过R的系统调用函数执行外部的exiftool命令,以下是具体解决方法:

  • 调用exiftool的正确方式:使用R的system2()函数(推荐,参数更规范)来执行exiftool命令,所有命令参数放在args参数中。
  • 修改现有字符型EXIF标签:比如修改Comment标签:
system2("exiftool", args = c("-Comment='This is a new comment'", "dst.jpg"))
  • 添加自定义标签:EXIF标准外的自定义标签需指定命名空间(如XMP),否则exiftool无法识别。例如添加ProjectName和district:
# 添加ProjectName
system2("exiftool", args = c("-XMP:ProjectName='LC_BMRG_002'", "AAA_9083.JPG"))
# 添加district
system2("exiftool", args = c("-XMP:district='Childers'", "AAA_9083.JPG"))
  • 处理数值型标签:比如Clarity是数值型标签,必须传入数值而非字符串:
system2("exiftool", args = c("-Clarity=50", "AAA_9083.JPG"))
  • 批量处理图片:遍历文件夹内所有图片批量添加标签:
img_files <- list.files(path = "你的图片文件夹路径", pattern = "\\.JPG$", full.names = TRUE)
for (img in img_files) {
  system2("exiftool", args = c("-overwrite_original", "-XMP:ProjectName='LC_BMRG_002'", img))
}
  • 取消自动备份:默认exiftool会生成原文件的备份(如AAA_9083.JPG_original),添加-overwrite_original参数可取消备份。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 07:27:36