Fotos umbenennen mithilfe exiftool

Es ist passiert, ja auch Profis machen Fehler. Ich habe für meinen Fotodienst ipocks.net eine Hochzeit fotografiert. Danach wurden alle Bilder sorgsam auf meine Festplatte gespielt, sortiert und die aussortierten gelöscht. Zu jeder Zeit schaue ich darauf, dass es mindestens 1 Backup gibt, am Ende des Tages dann 2. Wie ich das bei mir automatisiert habe, könnt ihr hier lesen: https://www.edv-linzbauer.at/datensicherung-uebers-netzwerk/

Alle jenen die durch google auf diesen Beitrag kommen, möchte ich Zeit ersparen, hier gleich die Lösung. All jene die ein wenig mehr über die Technik und auch über meine Arbeitsmethoden erfahren wollen, lade ich gerne ein den ganzen Beitrag zu lesen.

die Lösung:

exiftool -P ’-Filename<${Model}_${CreateDate}_${ShutterCount}.%e’ -d ’%Y-%m-%d_%H%M’ *.jpg

die ganze Geschichte

Leider ist mir beim umbenennen ein Fehler unterlaufen. Ich hatte danach einige Dateinamen doppelt, die Dateien waren nicht doppelt, nur die Namen in verschiedenen Unterordnern. Die Ordnung wiederherzustellen war gar nicht so einfach. Natürlich hätte ich auf das Backup zurückgreifen können, aber ich wollte die knapp 1500 Fotos nicht neu sortieren. Das musste doch einfacher gehen!

Da mein bevorzugtes Betriebssystem Ubuntu Linux (warum ich freie Software mag => edv-linzbauer.at) ist und ich fast immer freie Software einsetze, kommt man recht schnell in der Konsole an, mit einem Befehl sollten alle meine Probleme gelöst sein.

mit einem Befehl sind alle meine Probleme gelöst!

Der eine oder andere mag sich fragen: „Was zum Teufel sind exiftools?“ – Nun, exiftool, ganze ohne s am Schluss, ist ein Werkzeug um die Exif (wikipedia.de) Daten zu bearbeiten. Auf Deutsch: In jedem Bild steckt eine Vielzahl an Informationen im Hintergrund. Zum Beispiel wann und wo das Bild aufgenommen wurde, auch mit welcher Kamera, usw.

Um meinen Befehl aufzubauen musste ich erstmal rausfinden welche Felder ich genau brauchte. Natürlich habe ich google bemüht, wahrscheinlich genauso wie viele die jetzt diesen Beitrag lesen! Man kann sich nun die Mühe machen und die technische Doku von exiftool lesen www.sno.phy.queensu.ca/~phil/exiftool/. Wahrscheinlich wollen die meisten nun aber einen halbwegs verständlichen Text auf deutsch haben. Na dann mal los!

halbwegs verständlich auf deutsch erklärt

Die Exiftools funktionieren im Prinzip auf allen Plattformen (Mac, Windows, Linux), mein Beispiel hier habe ich unter Ubuntu 18.04 getestet. Man öffnet die Konsole und navigiert zu einem Ordner, der mindestens ein Bild (test.jpg) enthält. Ich empfehle hierzu einen Testordner anzulegen und das Bild zu kopieren, bitte nie auf Originaldaten testen! Und vergesst das tägliche Backup nicht, man kann es nicht oft genug sagen!

exiftool -s test.jpg >test.txt

exiftool ruft das Programm auf, -s gibt Tag-Names, also die Köpfe der Tabellen aus, test.jpg gibt an von welchem Bild er das machen soll. Wenn man die Ausgabe noch in eine Datei umleitet, kann man sich die Daten auch länger speichern >test.txt. Die Ausgabe sieht etwa so aus:

exiftool -s test.jpg

exiftool -s test.jpg >test.txt

Nun konnte ich mir die passende Variable raussuchen, mich interessierten diese 3 Felder:
Model => gibt das Kameramodell an = D800
CreateDate => gibt an wann das Bild aufgenommen wurde = 2018:09:15 12:00:11
ShutterCount => gibt an wie oft die Kamera ausgelöst wurde = 78325

Mein Überlegung war einfach. Ich fotografiere mit 2 Kameras, ich achte darauf, das beide exakt die gleiche Zeit anzeigen, vor JEDEM Auftrag. Also steht in jedem einzelnen Bild das Aufnahmedatum, und die Aufnahmezeit. Daraus könnte ich eindeutige Dateinamen erzeugen. Leider, oder zum Glück sind die heutigen Kameras so schnell, dass sie auch mehrere Bilder pro Sekunde erzeugen können, damit hatte ich ein kleines Problem. Ich brauchte also noch eine eindeutige Nummer.

Dafür habe ich mir ShutterCount ausgesucht.

Dafür habe ich mir ShutterCount ausgesucht. In diesem Feld wird die Anzahl der Öffnungen des Verschlusses der Kamera angezeigt. Dieses Feld ist in der Kamera nicht manipulierbar und wird daher gerne für eine Einschätzung beim Gebrauchtpreis herangezogen. Es ist ähnlich zum km-Stand beim Auto. Also ist bei jedem Bild ein anderer Wert eingetragen, genau das was ich gesucht habe.

Und jetzt zum Befehl, das wird etwas spannend:

exiftool -P ’-Filename<${Model}_${CreateDate}_${ShutterCount}.%e’ -d ’%Y-%m-%d_%H%M’ *.jpg

exiftool => das Programm wird aufgerufen
LEERZEICHEN
-P => Preserve – das Änderungsdatum gleich lassen
LEERZEICHEN
=> Hochkomma umschließt den Befehl
=> gibt an das etwas hinzugefügt werden soll
Filename => gibt an was zu ändern ist, in diesem Fall der Dateiname
< => jetzt kommt der Input für das Tag Filename
${Model} => die variable Model aus den Exif-Tags, bei mir D800
_ => ein Abstandszeichen
${CrateDate} => Das Aufnahmedatum, bei mir 2018:09:15 12:00:11
_ => ein Abstandszeichen
${ShutterCount} => Gesamtauslösezahl der Kamera, bei mir 78325
.%e => bestehende Dateiendung behalten
=> abschließendes Hochkomma
LEERZEICHEN
-d => sagt dem Programm wie das Datum zu formatieren ist
LEERZEICHEN
=> Hochkomma umschließt den Befehl
%Y Jahr 4-stellig
=> ein Abstandszeichen
%m Monat 2-stellig
=> ein Abstandszeichen
%d Tag 2-stellig
_ => ein Abstandszeichen
%H => Stunden 2-stellig
%M => Minuten 2-stellig
=> abschließendes Hochkomma
LEERZEICHEN
*.jpg mach das für alle Datein mit der Endung JPG in diesem Ordner

Diesmal habe ich mir die Mühe gemacht und jede einzelne Position aufgeschlüsselt. Oft suche ich nach nur einer Positon in einem Befehl auf einer Seite. Ich hoffe ihr könnt euch daraus das für euch Passende ableiten! Falls ihr Fragen dazu habt könnt ihr gerne die Kommentarfunktion bemühen!

3 Kommentare

Kommentieren →

Hallo Peter,
habe versucht anhand Deiner Anleitung Dateien umzubenennen, leider ohne Erfolg.
Was mich an der Anleitung etwas irritiert, sind die „Hochkomma“, die den Befehl umschließen sollen. In der Befehlszeile kommt erst ein normales Komma, Du beschreibst in der Erklärung aber ein Hochkomma. Am Ende soll wieder ein Hochkomma stehen, stimmt auch in der Befehlszeile, aber in der Erklärung steht ein normales Komma?
Kannst Du helfen?

Hi Ralph, leider werden die Anführungszeichen durch das Theme im WordPress verändert. Der einzig sichere Weg den Befehl richtig einzugeben, ist ihn selber zu tippen. Ich bin noch auf der Suche nach einem passenden Plugin um den Code schöner darzustellen.

Schreibe einen Kommentar zu Peter Linzbauer Antworten abbrechen

Time limit is exhausted. Please reload CAPTCHA.