Как использовать exiftool для записи тегов даты в соответствии с путем к файлу?

Мне нужно установить тег даты exif для группы фотографий, хранящихся в следующей иерархии: ГОД/МЕСЯЦ/ДЕНЬ/IMG_something.JPG

Как я могу легко сделать это с помощью exiftool?

Ответы (1)

По сути, команда будет выглядеть примерно так
ExifTool "-TAG<Directory" <DIR or FILE>
, если предположить, что структура каталогов является числовой, например, 2015/07/04.
Но могут возникнуть проблемы в зависимости от того, какой именно тег вы хотите использовать. Многие теги даты/времени требуют времени, а также даты, и я считаю, что все теги даты/времени EXIF ​​попадают в эту категорию. Если вас не волнует фактическое время, вы можете -TAG<$Directory 00:00:00. Или, если вы хотите увеличить время, вы можете увидеть этот предыдущий пост для получения помощи.

Теги XMP обычно более гибкие и могут использоваться без времени.

Если в теге уже есть текущее время и вы просто хотите изменить дату, вы можете использовать что-то вроде этого
ExifTool "-DateTimeOriginal<$Directory ${DateTimeOriginal;s/.* //" <DIR or FILE>

Кажется, это не работает. Я попробовал: exiftool "-CreateDate<Directory 00:00:00" -r ./ и получил такие ошибки, как: Предупреждение: теги для записи не установлены из ./2015/03/03/IMG_3472.JPG Возможно, это связано с тем, что тег каталога начинается с ./ ?
Две вещи, чтобы попробовать, ошибки с моей стороны. Если вы используете linux/mac, измените двойные кавычки на одинарные. Кроме того, я забыл добавить знак доллара к заданию из-за смешения тега и текста. Так что попробуйте это exiftool '-CreateDate<$Directory 00:00:00' -r ./ . Это ./вообще не должно быть проблемой. Автор программы постоянно использует подобные примеры, и я только что протестировал ее на своем компьютере с Windows, и она работала нормально.