traveller
Goto Top

Datum aus Dateinamen in Eigenschaft "Aufnahmedatum" schreiben

Guten Tag!

In der Fotosammlung gibt es zahlreiche Fotos, in denen in der Eigenschaft "Aufnahmedatum" nicht das Datum der Aufnahme steht.
Im Dateinamen ist meist das Aufnahmedatum enthalten (z.B. IMG-20170416-WA0022.jpg).
Lässt sich das das Datum im Dateiname über eine Routine in die Dateieigenschaft Aufnahmedatum schreiben?
Wenn ja: wie?

Vielen dank für eure Hilfe!

Gruß
Olaf

Content-ID: 666142

Url: https://administrator.de/contentid/666142

Ausgedruckt am: 20.11.2024 um 07:11 Uhr

148121
Lösung 148121 27.04.2021 aktualisiert um 11:22:29 Uhr
Goto Top
Wenn ja: wie?
Mit https://exiftool.org/
https://stackoverflow.com/questions/53863019/how-to-set-files-datetimeor ...
Das hier erledigt dir das in einem Rutsch für einen ganzen Ordner
exiftool.exe "-DateTimeOriginal<${filename;s/IMG-(\d{8})-.*/$1/}" -d "%Y%m%d" -ext jpg "D:\Bilder"  

Gruß w.
Traveller
Traveller 27.04.2021 um 11:17:15 Uhr
Goto Top
Vielen Dank für die rasche Hilfe!
Gibt es dafür auch ein GUI?
Ich weiss, der bequeme ONU face-wink

Gruß
Olaf
148121
Lösung 148121 27.04.2021 aktualisiert um 11:23:38 Uhr
Goto Top
Einzeiler genügt, siehe das Beispiel für deine Bildnamen face-smile ...

Das hier erledigt dir das in einem Rutsch für einen ganzen Ordner
exiftool.exe "-DateTimeOriginal<${filename;s/IMG-(\d{8})-.*/$1/}" -d "%Y%m%d" -ext jpg "D:\Bilder"  
GUI ist doch nur was für Weicheier face-big-smile.
Traveller
Traveller 27.04.2021 um 11:38:15 Uhr
Goto Top
Alle klar, vielen Dank!

Gruss
weichei
Traveller
Traveller 27.04.2021 um 12:07:09 Uhr
Goto Top
Doch noch eine Frage:
exiftool.exe "-DateTimeOriginal<${filename;s/IMG-(\d{8})-.*/$1/}" -d "%Y%m%d" -ext jpg "D:\Bilder"  

Das bedeutet, das in der Fotodatei das Aufnahmedatum z.B. so geschrieben wird:
20210427

Wenn ich das Datum so haben möchte
27.04.2021
muss der Syntax so lauten:
exiftool.exe "-DateTimeOriginal<${filename;s/IMG-(\d{8})-.*/$1/}" -d "%d.%m.%Y" -ext jpg "D:\Bilder"  

Habe ich das richtig verstanden?

Gruß
Olaf
148121
Lösung 148121 27.04.2021 aktualisiert um 12:25:51 Uhr
Goto Top
Zitat von @Traveller:

Doch noch eine Frage:
exiftool.exe "-DateTimeOriginal<${filename;s/IMG-(\d{8})-.*/$1/}" -d "%Y%m%d" -ext jpg "D:\Bilder"  

Das bedeutet, das in der Fotodatei das Aufnahmedatum z.B. so geschrieben wird:
20210427
Nein, das bedeutet das das Datum im Dateinamen so formatiert ist was ausgelesen werden soll, damit exiftool weiß was Jahr Monat und Tag ist.


Wenn ich das Datum so haben möchte
27.04.2021
muss der Syntax so lauten:
exiftool.exe "-DateTimeOriginal<${filename;s/IMG-(\d{8})-.*/$1/}" -d "%d.%m.%Y" -ext jpg "D:\Bilder"

Habe ich das richtig verstanden?
Nein, das Datum wird nach Standard durch exiftool dort hinterlegt, dort gibt es keine Formatierung, das Datumsformt in dem es in die Exif-Tags geschrieben wird ist fest definiert!
https://www.awaresystems.be/imaging/tiff/tifftags/privateifd/exif/dateti ...
The date and time when the original image data was generated.

For a digital still camera, this is the date and time the picture was taken or recorded. The format is "YYYY:MM:DD HH:MM:SS" with time shown in 24-hour format, and the date and time separated by one blank character (hex 20). 
Traveller
Traveller 27.04.2021 um 12:48:26 Uhr
Goto Top
Alle Klarheiten beseitigt, Danke!

Gruß
Olaf
148121
148121 27.04.2021 um 15:58:32 Uhr
Goto Top
👍
puschel-1
puschel-1 09.09.2022 um 15:20:35 Uhr
Goto Top
Könnt ihr mir hier auch behilflich sein?
Ich möchte meine WhatsApp-Videos in dem Format hier VID_20130423_175714.mp4 auch mit EXIF-Daten versehen, klappt das mit dem ExifTool auch und wie muss dann die Befehlszeile aussehen, um das Datum aus dem Dateinamen in die Exif-Daten zu bekommen?

Danke und schönes Wochenende euch!
Flo
DayTime
DayTime 04.04.2023 um 21:27:03 Uhr
Goto Top
Hallo,

kann mir jemand helfen ein ähnliches Problem zu lösen? Mein Datum ist etwas umfangreicher. Die Dateien heißen z.B. "2020-08-18_18.19.15.jpg" als Datum mit Uhrzeit in Std., Min. und Sekunden.

Ich nutze MacOS und würde den Aufruf gerne für einen Ordner inkl. aller Unterordner nutzen.

Vielen Dank!!!
6247018886
6247018886 04.04.2023 um 21:53:39 Uhr
Goto Top
exiftool "-DateTimeOriginal<${filename/.jpg/}" -d "%Y-%m-%d_%H.%M.%S" -ext jpg "/path/images" -r  
DayTime
DayTime 04.04.2023 um 22:02:53 Uhr
Goto Top
Vielen Dank für die schnelle Hilfe. Leider scheint es noch ein Problem mit den Parametern beim Aufruf zu geben. Ich verwende unter MacOS im Terminal:

exiftool "-DateTimeOriginal<${filename;s/IMG-([\d-]+_[\d\.]+)\.jpg/$1/}" -d "%Y-%m-%d_%H.%M.%S" -ext jpg "/Users/peter/Desktop/Fotos" -r  

Und bekomme als Ausgabe im Terminal:
zsh: bad substitution

Das der Aufruf mit .exe unter MaxOS wohl nicht klappt, konnte ich mir noch zusammenreinem, bin sonst aber leider nicht im Umgang mit der Konsole geübt, wenn es über ein Ping oder das Anzeigen der Netzwerkadresse hinaus geht...
6247018886
6247018886 04.04.2023 aktualisiert um 22:35:38 Uhr
Goto Top
Nimm die Bash, klappt hier problemlos...
DayTime
DayTime 04.04.2023 um 22:10:20 Uhr
Goto Top
Das ändert leider nichts:

bash-3.2$ exiftool "-DateTimeOriginal<${filename;s/IMG-([\d-]+_[\d\.]+)\.jpg/$1/}" -d "%Y-%m-%d_%H.%M.%S" -ext jpg /Users/peter/Desktop/Fotos -r  
bash: -DateTimeOriginal<${filename;s/IMG-([\d-]+_[\d\.]+)\.jpg/$1/}: bad substitution
bash-3.2$
DayTime
DayTime 05.04.2023 um 00:42:45 Uhr
Goto Top
Hallo briggs,

ich habe leider übersehen gehabt, dass der Originalpost noch mal verändert wurde. Mit dem neuen Befehl sieht es schon ganz gut aus. Vielen Dank soweit! Aber noch wird das Datum nicht korrigiert:
bash-3.2$ exiftool "-DateTimeOriginal<${filename/.jpg/}" -d "%Y-%m-%d_%H.%M.%S" -ext jpg "/Users/peter/Desktop/Anna" -r    
Warning: No writable tags set from /Users/peter/Desktop/Anna/2020-08-18_17.27.24.jpg
Warning: No writable tags set from /Users/peter/Desktop/Anna/2020-08-18_18.19.15.jpg
Warning: No writable tags set from /Users/peter/Desktop/Anna/2020-08-18_18.20.46.jpg
Warning: No writable tags set from /Users/peter/Desktop/Anna/2020-08-18_18.00.27.jpg
Warning: No writable tags set from /Users/peter/Desktop/Anna/2020-08-18_17.27.37.jpg
Warning: No writable tags set from /Users/peter/Desktop/Anna/2020-08-18_18.20.38.jpg
Warning: No writable tags set from /Users/peter/Desktop/Anna/2020-08-18_17.27.10.jpg
Warning: No writable tags set from /Users/peter/Desktop/Anna/2020-08-18_18.23.34.jpg
Warning: No writable tags set from /Users/peter/Desktop/Anna/2020-08-18_18.19.08.jpg
Warning: No writable tags set from /Users/peter/Desktop/Anna/2020-08-18_17.27.16.jpg
Warning: No writable tags set from /Users/peter/Desktop/Anna/2020-08-18_18.24.06.jpg
    1 directories scanned
    0 image files updated
   11 image files unchanged
DayTime
DayTime 05.04.2023 um 01:07:37 Uhr
Goto Top
Vielleicht hilft das als Randinformation:

bash-3.2$ exiftool -time:all -s /Users/peter/Desktop/Anna/2020-08-18_17.27.10.jpg
FileModifyDate                  : 2023:03:14 19:59:25+01:00
FileAccessDate                  : 2023:04:05 01:02:08+02:00
FileInodeChangeDate             : 2023:04:05 01:02:06+02:00
ProfileDateTime                 : 1998:02:09 06:49:00
MetadataDate                    : 2023:03:14 19:59:23+01:00
bash-3.2$
DayTime
DayTime 05.04.2023 um 01:49:27 Uhr
Goto Top
Falls noch jemand auf das Problem stößt, exiftool kann das Datum ggf. automatisch erkennen. So funktionierte bei mir:

exiftool "-datetimeoriginal<filename" /Users/peter/Desktop/Anna/ -r