微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Exiftool 添加多个关键字,但前提是它们尚未存在

如何解决使用 Exiftool 添加多个关键字,但前提是它们尚未存在

我正在运行以下命令向图像添加多个关键字:

exiftool  -keywords+="Flowering"  -keywords+="In Flower"  -keywords+="Primula vulgaris"  -overwrite_original "/pictures/Some Folder/P4130073.JPG"

但是,我注意到如果我对已经包含特定关键字的图像执行此操作,那么它会被第二次添加

我如何确保仅在关键字已经丢失的情况下才添加关键字,并且如果它们存在,它将执行无操作(理想情况下保持文件不变)。我在论坛和文档上阅读了一些问题,但我不清楚 NoDups 文档(我是 exiftool n00b),而且我找到的所有答案都只处理一个关键字添加

额外的好处是,如果“存在”检查可以不区分大小写,那就更好了(例如,如果我正在执行 keywords+="Flowering" 并且图像已经包含关键字“开花”,什么都不会做。

我也需要它在 Linux、MacOS 和 Windows 上运行(我知道引号会使事情复杂化!)。

解决方法

Exiftool FAQ #17

为防止添加新项目时重复,可以将特定项目 删除然后在同一命令中再次添加回来。例如, 以下命令添加关键字“一”和“二”,确保 如果它们已存在于某个关键字的关键字中,则它们不会重复 图片:

exiftool -keywords-=one -keywords+=one -keywords-=two -keywords+=two DIR

NoDups helper function 用于删除文件中已经存在的重复项。它不是用来防止首先添加重复项。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?