2

我有超过 400 个 JPG 文件和一个 JSON 文件,每个文件都包含图像标签、描述和标题。我找到了这个命令

exiftool -json=picture.json picture.jpg

但我不想为每个文件都运行这个。
如何为包含 JPG 和 JSON 的文件夹运行此命令,或者是否有另一种方法可以批处理这些文件?
每个 JSON 文件与其对应的 JPG 文件具有相同的名称,因此很容易识别哪些文件相互匹配。

4

1 回答 1

1

假设您的 JPG 和 JSON 具有相同的文件名,但扩展名不同(例如 picture001.jpg 具有关联的 picture001.json 等),则批处理 for 循环可能会起作用。假设您已经cd-ed 进入文件夹并且文件没有嵌套在文件夹中,这样的事情应该可以工作

( for jpg in *.jpg; do exiftool -json=${jpg/\.jpg/.json} $jpg; done )

请注意,这未经测试。我建议您复制您的文件夹并事先在那里进行测试,以确保您不会对它们造成不可逆转的损坏。

我还注意到您正在使用 java 标签。不久前我不得不在 Java 中使用 EXIF 数据(当时在 Android 上),我使用了JHeader 库。如果你想滚动你自己的小java命令行工具,你应该能够使用Java的IO类来遍历你的目录和文件以及JHeader库来修改EXIF数据。

于 2015-08-09T22:20:20.910 回答