Используйте DateCreated для DateTaken (CreationTime) для PNG с использованием ExifTool - Фотопедия
2 голосов
/ 10 января 2017

У меня есть набор PNG, которые моя жена хочет сохранить, которые были сняты с нашего радионяни. Файлы названы по дате, когда они были захвачены:

yyyymmdd_hhmmss.png

К сожалению, на изображение не было сохранено DateTaken, и я хотел бы добавить его для хранения и насытить монстра ОКР, рычащего в моей груди.

Я просмотрел несколько постов здесь, используя командную строку ExifTool, но ни в одном из них не описывается, как установить свойство date date (как показано в проводнике Windows, Lightroom и т. Д.), Хотя, как я понимаю, оно определено в exif как: время создания ??? (Может быть).

Я пробовал много комбинаций из следующих безуспешно. (Дата, оставшаяся без изменений).

exiftool "-creationTime=-timecreated" *
exiftool "-creationTime<EXIF:DateCreated" *

В отчаянии, чтобы увидеть, происходит ли что-нибудь на самом деле:

exiftool "-creationTime=now" *
exiftool.exe "-DateTimeOriginal>FileModifyDate" *
exiftool -v "-FileModifyDate>AllDates" *

Я прошу прощения; есть кое-что настолько простое, что я пропускаю, но после просмотра результатов Google и многочисленных сообщений здесь я не ближе.

Ответы [ 2 ]

7 голосов
/ 10 января 2017

Пока у вас установлено имя файла, как вы упомянули, команда, которую вы хотите использовать, будет
exiftool "-PNG:CreationTime<Filename" FileOrDir

Как упоминает @cmason, PNG не поддерживает стандарт EXIF. Exiftool и Exiv2 имеют обходной путь, но он не поддерживается широко. Таким образом, теги EXIF ​​не будут устанавливаться другими программами, если вы сами не установите их с помощью Exiftool или Exiv2.

Date Taken - это свойство Windows, а не тег метаданных, а в случае файлов PNG оно задается из тега PNG:CreationTime.

Чтобы присвоить свойству Windows Date Take в файле PNG что-то еще, вы можете использовать эту команду, соответственно заменив отметку времени:
exiftool -PNG:CreationTime="2017:01:10 10:45:01" FileOrDir

Редактировать: Несколько замечаний о том, почему ваши предыдущие команды не работали.
exiftool "-creationTime=-timecreated" * Знак равенства присваивает значения. Таким образом, в этом случае вы присваиваете тегу CreationTime значение -timecreated. Если вы хотите скопировать тег TimeCreated, вам сначала нужно было бы отбросить тире перед -timecreated (используется только в самом начале для обозначения операции тега), а затем использовать операцию копирования тега (меньше / больше). чем символ < или >) например -creationTime<timecreated или -TimeCreated>CreationTime.

exiftool "-creationTime<EXIF:DateCreated" * и exiftool.exe "-DateTimeOriginal>FileModifyDate" * Правильно отформатированы, но, как уже упоминалось, PNG не поддерживают теги EXIF ​​(DateTimeCreated обычно является тегом EXIF, хотя он также может быть тегом XMP). Должно быть сообщение об ошибке «Нет доступных для записи тегов».

exiftool "-creationTime=now" * «Сейчас» - это псевдотег Exiftool для текущей даты / времени. Но знак равенства устанавливает CreationTime в значение now, а не в DateTime сейчас. Правильная команда была бы "-CreationTime<Now".

exiftool -v "-FileModifyDate>AllDates" * Правильно отформатирован, но опять же это проблема с отсутствием поддержки PNG для данных EXIF. AllDates - это ярлык Exiftool для трех тегов EXIF: EXIF: DateTimeOriginal, EXIF: ModifyDate и EXIF: CreateDate.

Редактировать 2: В какой-то момент, похоже, произошли изменения в том, как Windows читает метаданные PNG. Кажется, что он прекращает чтение в блоке PNG IDAT, даже если за ним есть данные, что разрешено спецификацией. PNG:CreationTime может не отображаться должным образом при написании exiftool. Смотрите это сообщение на форуме Exiftool .

Редактировать 3: В exiftool ver 10.71 Фил Харви изменил способ, которым exiftool написал тег PNG:CreationTime в соответствии с форматом PNG RFC-1123 ( Link Link ). Кажется, что Windows не может прочитать этот формат. Это изменение было отменено с версии 11.13 с возможностью применения спецификации PNG с опцией -api StrictDate.

1 голос
/ 10 января 2017

PNG не поддерживает EXIF ​​в своем формате файла. Существуют способы добавить определенные данные, известные как «чанки», но я не вижу «дата взятия» специально в стандарте .

Моя рекомендация - преобразовать все в JPG, а затем использовать инструмент EXIF ​​или Lightroom, чтобы добавить информацию о дате съемки. Если вы используете Mac, скорее всего, доступен сценарий Apple.

Добро пожаловать на сайт Фотопедия, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...