Zum Inhalt, überspringe Kopfzeile Zum Navigation, überspringe Kopfzeile
Ein aufregender Tag oder Aktion und man hat viele Fotos mit seiner Digitalkamera gemacht. Wohlmöglich überspielt man die Fotos nicht sofort auf den PC, und so sammeln sich nach und nach immer mehr Fotos auf der Speicherkarte. Man hat dann viele Dateien mit folgendem Schema – oder ähnlichem, je nach Digitalkamera – auf der Speicherkarte:
Mit diesen Dateinamen lässt sich später nur schwer zuordnen welches Foto von welcher Aktion ist. Erst recht dann wenn man mehrmals eine Datei mit identischem Namen in verschiedenen Verzeichnissen hat. Die Fotos sollten sortiert werden. Ich selber bevorzuge bei meinen Dateinamen folgendes Schema:
Mit diesem Schema hab ich immer sofort im Blick wann das Foto gemacht worden ist und um welche Aktion/Thema es sich handelt.
Die entsprechenden Zeitangaben sollen dabei direkt aus den EXIF-Daten des Fotos übernommen werden. Somit ist also vor dem Fotografieren zu achten, das das Datum/Uhrzeit der Digitalkamera korrekt eingestellt ist.
Wie aber die Fotos nun entsprechend so umbenennen? Alle Dateinamen von Hand umbenennen ist zu aufwendig. Mit einem entsprechenden Fotobetrachter, z.B. Zoner Photo Studio, kann man alle Dateien gleichzeitig mit entsprechenden Vorgaben umbenennen. Dies funktioniert recht gut, hat aber den Nachteil das man – wenn man erneut Fotos auf den PC überspielt – wieder von Neuem die entsprechenden Vorgaben machen muß.
Will man es schneller machen und immer wieder das gleiche Schema bei den Dateinamen benutzen, so kann man das Tool jhead auf der Kommandozeile benutzen:
jhead -nf[Formatstring] *.jpg (oder entsprechender Filter)
Als Formatstring kann man alle Angaben machen die die Funktion strftime unterstützt. Folgende Möglichkeiten (Auszug) stehen zur Verfügung:
%a – abgekürzter Name des Wochentages%A – ausgeschriebener Name des Wochentages%b – abgekürzter Name des Monats%B – ausgeschriebener Name des Monats%c – Wiedergabewerte für Datum und Zeit%C – Jahrhundert (Jahr geteilt durch 100, gekürzt auf Integer, Wertebereich 00 bis 99)%d – Tag des Monats als Zahl (Bereich 01 bis 31)%H – Stunde als Zahl im 24-Stunden-Format (Bereich 00 bis 23)%I – Stunde als Zahl im 12-Stunden-Format (Bereich 01 bis 12)%j – Tag des Jahres als Zahl (Bereich 001 bis 366)%m – Monat als Zahl (Bereich 01 bis 12)%M – Minute als Dezimal-Wert%R – Zeit in der 24-Stunden-Formatierung%S – Sekunden als Dezimal-Wert%T – aktuelle Zeit, genau wie %H:%M:%S%y – Jahr als 2-stellige-Zahl (Bereich 00 bis 99)%Y – Jahr als 4-stellige-Zahl inklusive des Jahrhundertsjhead selber stellt noch folgende eigene Platzhalter zur Verfügung:
%i – Fortlaufende Nummerierung. Will man führende Nullen vor der Nummerierung haben, so muß man die Anzahl der Stellen angeben. Für “001”, also 3 Stellen, benutzt man %03i.%f – Ursprünglicher DateinameWill man die Fotos nun nach dem Oben genannten Schema umbenennen, so benutz man folgenden Befehl:
jhead -nf%Y%m%d_%Hh%Mm_wanderung_bernau_%03i *.jpg
Man erhält dann folgendes Ergebnis:
Hinweis: Aus Sicherheitsgründen (verschiedene Betriebssysteme) und der Einfachheitshalber sollten keine Leerstellen und Sonderzeichen im Dateinamen benutzt werden.
Gehören nicht alle Fotos im Verzeichnis zum gleichen Thema (Wanderung in Bernau), so muß man natürlich die Fotos vorher auf verschiedene Verzeichnisse aufteilen. Im selben Vorgang löscht man am besten auch noch alle Fotos die man nicht haben will, z.B. weil sie Unscharf sind. Dadurch ist sichergestellt das man später auch eine fortlaufende Nummerierung ohne Lücken hat. Natürlich kann man den Befehl nach Löschvorgängen immer wieder erneut anwenden.
Soweit so gut. Die Fotos haben nun den entsprechenden Dateinamen. Wer Lust hat kann auch gleich noch das Dateidatum/-Uhrzeit auf die ausgelesenen Werte setzen. Dies geschieht mit folgendem Befehl:
jhead -ft *.jpg
Wenn man sich die Befehle nicht merken kann oder nicht immer wieder erneut eingeben will, so kann man auch ein kleines Script schreiben. Hier mein Script dafür:
Script: photo_rename.cmd
@echo off if "%1"=="" goto KeinParameter jhead -nf%%Y%%m%%d_%%Hh%%Mm_%1_%%03i *.jpg jhead -ft *.jpg goto Ende :KeinParameter echo Fehler : Kein Parameter angegeben. echo Benutzung: photo_rename [Titel] goto Ende :Ende
Geschrieben von Stefan Jahn
in Fotografie, Scripte
um
20:53
| Kommentare (0)
| Trackbacks (0)
Man kennt das Übel: man macht mit seiner Digitalkamera viele schöne Fotos, mal Hochformat, mal Querformat. Und dann, wenn man die Fotos am PC anschauen will ist ein Teil der Fotos – meistens die im Hochformat – verkehrtherum. Zu allen Überdruss zeigen manche Programme die Fotos korrekt an und andere wiederum nicht.
Wenn man eine gute Digitalkamera hat speichert diese die Orientierung/Ausrichtung des Fotos direkt in die JPEG-Datei. Die Orientierung/Ausrichtung ist eine von vielen Infos die man in den EXIF-Daten des Fotos findet. So kann man hier z.B. auch nachschauen wie das Foto belichtet worden ist oder was für eine Brennweite man benutzt hat. Die meisten Digitalkameras auf dem Markt unterstützen mittlerweile diesen Standard.
Je nach Programm was man für die Anzeige der Fotos auf dem PC benutzt wird die Info der Orientierung/Ausrichtung ausgewertet und somit das Foto korrekt dargestellt. Leider machen dies nicht alle Programme und so kann es von Vorteil sein wenn man alle Fotos korrekt dreht. Dies kann man auf verschiedene Arten durchführen:
Werkzeug / Stapelverarbeitung. Hier kann man dann die Option Bild / Verlustfreies Drehen benutzen.Ich selber drehe aber alle Fotos automatisch mit Hilfe des kleinen, mächtigen Tools jhead auf der Kommandozeile:
jhead -autorot *.jpg (oder entsprechender Filter)Diese Variante geht ziemlich schnell. jhead kann noch wesentlich mehr … aber darüber ein andern mal.
Hinweis: Das Tool jhead benötigt zusätzlich das Kommandozeilentool jpegtran.
Geschrieben von Stefan Jahn
in Fotografie, Scripte
um
16:55
| Kommentare (0)
| Trackbacks (0)
Zum Inhalt zurück, überspringe Navigation | Zum Seitenanfang