WERBUNG

ExifTool o.a.: Dateiname+Zeitaddition zu Exif

jtf

Themenersteller
Hallo.
Ich habe mit einem Diascanner Dias digitalisiert. Der Scanner hat die Ergebnisse in einen Zwischenspeicher gepackt, der nach maximal 10 Scans gespeichert wurde.
Meine Dateien sehen so aus:
20190502165318_01.jpg
20190502165318_02.jpg
...
20190502165930_01.jpg
20190502165930_02.jpg

Also: Jahr, Monat, Tag, Stunde, Minute, Sekunde, _ laufender Zähler bis max 10.

Besonders (blöd) ist hierbei. dass die Uhrzeit bei jedem Scan eines Durchganges gleich ist. Also bei Sekunde 18 wurden zehn Scans gespeichert, bei Sekunde 30 zehn weitere Scans usw.

Ich möchte jetzt aus dem Dateinamen das Exif-Feld mit Datum/Zeit (des Scans) füllen. Da habe ich schon Beispiele gesehen wie das gehen soll. Ich würde aber gerne, dass der Zähler am Ende des Dateinamens zu den Sekunden im Exif-Feld addiert wird, so dass jeder Scan eine unterschiedliche Uhrzeit im Exif-Feld bekommt.
Man müsste wohl den Zähler in eine Variabel, die dann ins Zeitformat konvertieren, neu berechnen (falls 60 Sekunden überschritten würden) ...

Kann mir da jemand helfen? Geht das mit ExifTool? Oder einem anderen Programm?
Danke für jeden Tipp
 
In welcher Sprache (auf welchem Betriebssystem?)

Edit. Mit Exiftool kann man Exifdaten schreiben, du brauchst ein Skript mit dem du den Dateinamen zerlegst, danach kann ein Aufruf auf Exiftool die Daten korrekt schreiben.

Auf welchem Betriebssystem arbeitest du, kannst du irgendwelche Programmier- oder Skriptsprachen?
 
Zuletzt bearbeitet:
Hallo. Sorry, ich arbeite primär mit Windows 10, habe aber auch Ubuntu laufen.
Bislang mache ich viel mit Batch-Dateien, die ich in mein Lieblingsprogramm ThumbsPlus einbinde. ExifTool kann ich von da aus auch erfolgreich starten und Dateien in Schleifen abarbeiten.
 
Ich würde es in 2 Schritten machen ... im ersten Schritt den Dateinamen
aller Dateien so ändern, dass sie eindeutig sind, aber den Zähler nicht mehr
enthalten, sondern nur noch yyyymmmdd_hhmmss.jpg (unter Linux
kann man das relativ einfach mit awk erledigen).

Danach mit einem geeigneten Programm aus dem Dateinamen den
Zeitstempel für Exif erzeugen. (Wenn es nicht direkt mit exiftool geht
kann man wiederum mit awk die Aufrufe für exiftool erzeugen).
 
Hallo.
aber den Zähler nicht mehr
enthalten, sondern nur noch yyyymmmdd_hhmmss.jpg
Dann hätte ich ja pro Durchgang 10 gleiche Dateinamen. Denn pro Durchgang sind ja Std., Minute und Sekunde immer gleich. Erst der Zähler unterscheidet sie.

Phyton kann ich leider nicht.

Aber ich denke gerade über 2 Sachen nach. BEides nicht so schön, aber schnell umsetzbar.

1. Habe ich gesehen, dass die Millisekunden (oder was ist die dreistellige Zahl nach den Sekunden) unterschiedlich sind pro Bild. Ich kann also doch nach dem Erstelldatum sortieren, auch wenn die Dateinamen später umbenannt werden. Von daher müsste ich die Sekunden gar nicht mehr neu berechnen.

2. Die Sekunden brauche ich eigentlich gar nicht. Mir reicht es, später nachvollziehen zu können, in welchem Durchgang ein Dia gescant wurde. Da pro Durchgang maximal 10 Dias gespeichert werden, und zwischen den Durchgängen mehrere Minuten vergehen, könnte ich also:
- Mit einem Mehrfach-Umbennungstool (FreeCommander z.B.) den Zähler anstelle der Sekunden im Dateinamen setzen ([n,-5][n,16,2]).
- Und dann bei Bedarf mit exiftool den neuen Dateinamen als Basis für die Erstellzeit nehmen.

Muss nur noch schauen, ob ich mir damit nicht die 1. Option mit den Millisekunden verderbe.

Der Code für die neuen Dateinamen wäre dann so:

Code:
@ECHO OFF
REM http://www.sno.phy.queensu.ca/~phil/exiftool/
REM set EXIF date from file names like 
REM 19600121234125.jpg or 19951015211623.jpg 
REM (Jahr/Monat/Tag/Stunde/Minute/Sekunde)

SET  name=%~1
SET  base=%~n1
SET  year=%base:~0,4%
SET month=%base:~4,2%
SET   day=%base:~6,2%
SET  hour=%base:~8,2%
SET   min=%base:~10,2%
SET   sec=%base:~12,2%
SET stamp=%year%:%month%:%day% %hour%:%min%:%sec%

echo Processing "%name%" "%stamp%"

exiftool -DateTimeOriginal="%stamp%" "%name%"
exiftool -AllDates="%stamp%" "%name%"

pause
exit
 
WERBUNG
Zurück
Oben Unten