Problem
Wir haben vermutlich alle mittlerweile eine Menge Bilder auf unseren Smarphones. So ich natürlich auch. Von Zeit zu Zeit sichere ich diese dann auf meine Backup-Maschine (und sychonisiere diese in verschiedene Clouds). Allerdings hatte ich neulich ein paar Probleme, als ich die Fotos und Videos sortieren wollte.
Die Bilder-Dateinamen sind ja meistens nur Dateizähler wie DSC0001, DSC0002, DSC0003. Die löbliche Ausnahme ist hier Windows Phone, das amerikansiche Datumsangaben einschliesslich (!) Uhrzeit verwendet. In einigigen Android’s kann man das auch einstellen, in anderen nicht.
Wenn man nun Bilder vom internen Speicher verschiebt, werden alle Dateidaten („Änderungsdatum“) der Bilder auf den Tag geändert, an dem die Dateien verschoben wurden. Das ist superunpraktisch beim selektieren, for allem wenn man das automatisieren möchte. Das passiert leider auch beim internen verschieben, also zum Beispiel vom internen Speicher auf eine SD-Karte.
Lösung
Zum Glück gibt es Jhead, das „Kommandozeilengesteuerte Programm zum Manipulieren der Nicht-Bild-Teile von Exif–JPEG-Dateien“.
Für Windows, Linux und Mac OS X gibt es eine vorkompilierte ausführbare Datei, die von der Kommandozeile aus starte. Ein GUI gibt es (und braucht es) nicht. Jhead zeigt, ohne Parameterm, so ungefähr alle EXIF-Daten an:
C:\Foo\JHead>jhead.exe C:\tmp\DSC*
File name : C:\tmp\DSC_F40261.JPG
File size : 3156739 bytes
File date : 2017:03:24 11:52:50
Camera make : MegatronINC
Camera model : D4303
Date/Time : 2014:01:13 12:17:55
Resolution : 3840 x 2160
...
Und man kann damit diese Daten ganz wundervoll und schnell umbenennen:
C:\Foo\JHead>jhead.exe -n%m-%d-%Y-%f D:\tmp\DSC*
D:\tmp\DSC_F0261.JPG --> D:\tmp\02-13-2016-DSC_0261.jpg
D:\tmp\DSC_F0162.JPG --> D:\tmp\02-13-2016-DSC_0262.jpg
Ganz brauchbar fand ich diese Optionen (schnellübersicht, NICHT vollständig!)
%d Day of month as decimal number (01 – 31)
%H Hour in 24-hour format (00 – 23)
%j Day of year as decimal number (001 – 366)
%m Month as decimal number (01 – 12)
%M Minute as decimal number (00 – 59)
%S Second as decimal number (00 – 59)
%y Year without century, as decimal number (00 – 99)
%Y Year with century, as decimal number
Zum Beispiel:
C:\Foo> jhead -n%Y%m%d-%H%M%S *.jpg
… erzeugt Dateien mit der Benennung „YYYYMMDD-HHMMSS“.