使用Go的exec.Command调用exiftool时生成额外{filename}_original文件问题
解决exiftool生成_original备份文件的问题
这是exiftool的默认行为:它在修改图片元数据时,会自动创建原文件的备份副本,后缀为_original,和你用Go的os/exec调用无关。不需要通过删除文件来处理,直接给exiftool加参数就能解决。
最优解决方案
- 禁用备份文件:执行命令时添加
-overwrite_original参数,exiftool会直接修改原文件,不生成备份。
Go代码示例:package main import ( "os/exec" "log" ) func main() { // 示例:设置图片标题并禁用备份 cmd := exec.Command("exiftool", "-overwrite_original", "-Title=自定义标题", "test.png") if err := cmd.Run(); err != nil { log.Fatalf("执行exiftool失败: %v", err) } } - 自定义备份后缀:如果需要保留备份但不想用默认的
_original,可以用-suffix参数指定自定义后缀,比如-suffix .bak,备份文件会变成test.png.bak。
内容的提问来源于stack exchange,提问作者John Jorgensen
相关产品推荐
相关产品推荐

