Exiftool может читать файлы JSON.Если вы запустите команду exiftool -g1 -a -s
в своем примере JSON-файла, вы получите список имен тегов, которые вы можете использовать для копирования в файл изображения.Используя ваш пример, результат будет
[JSON] PhotosCaption : #nautitaan #kesä2019, #lupanauttia #kesä2019
[JSON] PhotosLocation : Jokioinen, Jokioinen
[JSON] PhotosPath : photos/201906/b65bbda42ba74424a9d7be0c5163f78d.jpg, photos/201906/29fb24838136a1e80439ad7dcae00b4f.jpg
[JSON] PhotosTaken_at : 2019-06-08T03:30:25, 2019-06-07T07:42:38
Проблема сейчас в том, что существует несколько элементов для каждого имени тега.Инструмент Exiftool очень гибок в отношении того, как он читает числа для отметок времени (см. exiftool FAQ 5 ), поэтому, если первая запись правильная, вы можете просто использовать
exiftool -TagsFromFile FILE.Json "-DateTimeOriginal<PhotosTaken_at" FILE.jpg
Если вы хотите использовать вторую запись, вы можете использовать опцию -listitem
.
exiftool -listitem 1 -TagsFromFile FILE.Json "-DateTimeOriginal<PhotosTaken_at" FILE.jpg
Обратите внимание, что индекс списка начинается с 0, поэтому для получения второго элемента, вы должны индексировать # 1.
Для массового копирования, предполагая, что базовое имя файла json совпадает с файлом изображения и в том же каталоге, вы можете использовать эту команду
exiftool -TagsFromFile %d%f.Json "-DateTimeOriginal<PhotosTaken_at" /path/to/image/files/
Эта команда создает файлы резервных копий.Добавьте -overwrite_original
для подавления создания файлов резервных копий.Добавьте -r
, чтобы перейти в подкаталоги.Если эта команда запускается под Unix / Mac, поменяйте местами двойные / одинарные кавычки, чтобы избежать интерпретации bash.