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

Adding multiple keywords with Exiftool, but only if they're not already present

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

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

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

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

如果 'exists' 检查可以不区分大小写,那就更好了(例如,如果我正在做 keywords+="Flowering" 并且图像已经有关键字“开花”,一事无成

我还需要这个才能在 Linux、MacOS 和 Windows 上工作(我知道引号会使事情复杂化!)。

Exiftool FAQ #17

To prevent duplication when adding new items, specific items can be deleted then added back again in the same command. For example, the following command adds the keywords "one" and "two", ensuring that they are not duplicated if they already existed in the keywords of an image:

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

NoDups helper function 用于删除文件中已存在的重复项。它最初不用于防止添加重复项。