Verwenden Sie DateCreated für DateTaken (CreationTime) auf einem PNG mit ExifTool

Ich habe eine Menge PNGs, die meine Frau behalten möchte und die von unserem Babymonitor erfasst wurden. Die Dateien sind nach dem Aufnahmedatum benannt:

yyyymmdd_hhmmss.png

Leider ist kein DateTaken im Bild gespeichert und ich möchte es zu Archivierungszwecken hinzufügen und das OCD-Monster, das in meiner Brust knurrt, stillen.

Ich habe hier einige Posts mit der ExifTool-Befehlszeile überprüft, aber keiner von ihnen scheint detailliert zu beschreiben, wie die Eigenschaft "Aufnahmedatum" eingestellt wird (wie in Windows Explorer und Lightroom usw. gezeigt), obwohl sie meines Wissens im Exif definiert ist als: Erstellungszeit??? (kann sein).

Ich habe viele Kombinationen der folgenden ohne Erfolg versucht. (Aufnahmedatum bleibt leer).

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

In der Verzweiflung, um zu sehen, ob tatsächlich etwas passiert:

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

Ich entschuldige mich; Es gibt etwas so Einfaches, das ich vermisse, aber nachdem ich Google-Ergebnisse und zahlreiche Posts hier durchforstet habe, bin ich nicht näher dran.

Ich werde meine Frage bearbeiten, aber sie ist anders, da sich meine auf das creationTime-Tag in einem PNG bezieht.
Sie können die Dateien in ein Format konvertieren, das die richtigen Metadaten unterstützt, z. B. TIFF.

Antworten (2)

Solange Sie den Dateinamen wie erwähnt festgelegt haben, lautet der Befehl, den Sie verwenden möchten
exiftool "-PNG:CreationTime<Filename" FileOrDir

Wie @cmason erwähnt, unterstützt PNG den EXIF-Standard nicht. Exiftool und Exiv2 haben eine Problemumgehung, die jedoch nicht allgemein unterstützt wird. EXIF-Tags werden also nicht von anderen Programmen gesetzt, es sei denn, Sie setzen sie selbst mit Exiftool oder Exiv2.

Date Taken ist eine Windows-Eigenschaft, kein Metadaten-Tag, und im Fall von PNG-Dateien wird es vom PNG:CreationTimeTag festgelegt.

Um die Eigenschaft Windows Date Take in einer PNG-Datei auf etwas anderes einzustellen, können Sie diesen Befehl verwenden und den Zeitstempel entsprechend ersetzen:
exiftool -PNG:CreationTime="2017:01:10 10:45:01" FileOrDir

Bearbeiten: Nur einige Hinweise, warum Ihre vorherigen Befehle nicht funktioniert haben.
exiftool "-creationTime=-timecreated" *Das Gleichheitszeichen weist Werte zu. In diesem Fall weisen Sie dem CreationTimeTag also den Wert von zu -timecreated. Wenn Sie das Tag kopieren wollten TimeCreated, müssten Sie zuerst den Bindestrich vor -timecreated(wird nur ganz am Anfang verwendet, um eine Tag-Operation anzuzeigen) fallen lassen und dann die Tag-Kopieroperation (kleiner/größer als Symbol <oder >) verwenden, z. B. -creationTime<timecreatedoder -TimeCreated>CreationTime.

exiftool "-creationTime<EXIF:DateCreated" *und exiftool.exe "-DateTimeOriginal>FileModifyDate" *Korrekt formatiert, aber wie bereits erwähnt, unterstützen PNGs keine EXIF-Tags (DateTimeCreated ist normalerweise ein EXIF-Tag, obwohl es auch ein XMP-Tag sein kann). Es sollte eine Fehlermeldung "Keine beschreibbaren Tags" angezeigt werden.

exiftool "-creationTime=now" *„Jetzt“ ist ein Exiftool-Pseudo-Tag für das aktuelle Datum/die aktuelle Uhrzeit. Aber das Gleichheitszeichen wird CreationTimeauf den Wert nowgesetzt, nicht auf die aktuelle DateTime. Der richtige Befehl wäre gewesen "-CreationTime<Now".

exiftool -v "-FileModifyDate>AllDates" *Richtig formatiert, aber es ist wieder ein Problem mit PNGs fehlender Unterstützung für EXIF-Daten. AllDatesist eine Exiftool-Verknüpfung für drei EXIF-Tags: EXIF:DateTimeOriginal, EXIF:ModifyDate und EXIF:CreateDate.

Bearbeiten 2: Irgendwann scheint sich die Art und Weise geändert zu haben, wie Windows PNG-Metadaten liest. Es scheint das Lesen des PNG-IDAT-Chunks zu stoppen, selbst wenn Daten darüber hinaus vorhanden sind, was von der Spezifikation zugelassen wird. PNG:CreationTimewerden möglicherweise nicht richtig angezeigt, wenn sie von exiftool geschrieben werden. Siehe diesen Beitrag im Exiftool-Forum .

Bearbeiten 3: In exiftool Version 10.71 hat Phil Harvey die Art und Weise geändert, wie exiftool das PNG:CreationTimeTag geschrieben hat, um dem PNG RFC-1123-Format zu folgen ( Link Link ). Windows scheint dieses Format nicht lesen zu können. Diese Änderung wurde ab Version 11.13 mit einer Option zum Erzwingen der PNG-Spezifikation mit der -api StrictDateOption rückgängig gemacht.

PNG unterstützt kein EXIF ​​in seinem Dateiformat. Es gibt Möglichkeiten, bestimmte Daten hinzuzufügen, die als "Chunks" bekannt sind, aber ich sehe "Aufnahmedatum" nicht speziell im Standard .

Meine Empfehlung ist, alles in JPG zu konvertieren und dann das EXIF-Tool oder Lightroom zu verwenden, um Informationen zum Aufnahmedatum hinzuzufügen. Wenn Sie einen Mac verwenden, ist höchstwahrscheinlich ein Apple-Skript verfügbar.

Danke für die Antwort. Ich kann die Aufnahmedatumseigenschaft im Detailbereich des Eigenschaftendialogs in Windows individuell einstellen. Ich habe einen Vergleich durchgeführt, bevor ich es eingestellt habe, und nachdem ich es eingestellt und mir die Metadaten im PNG angesehen habe, ist es der Erstellungszeitwert, der für das PNG festgelegt wird? Kann man diesen Wert nicht einstellen? Ich weiß nur nicht, wie ich auf diesen Wert verweisen soll, um ihn festzulegen. Danke noch einmal. Andernfalls werde ich in JPG konvertieren.
Die PNG Development Group diskutiert derzeit das Format eines vorgeschlagenen PNG-EXIF-Chunks. Beachten Sie, dass PNG bereits ein Schlüsselwort „Erstellungszeit“ definiert, um das Erstellungsdatum in einem PNG-Textabschnitt zu speichern. ImageMagick/GraphicsMagick unterstützen bereits die Beibehaltung des gesamten EXIF-Profils (oder anderer Profile wie IPTC) in einem PNG-zTXt-Chunk und dessen Abruf; dh das EXIF-Profil überlebt einen Roundtrip von JPEG zu PNG und zurück.