Ich möchte meine Dateien so umbenennen, dass sie das Kameramodell enthalten, aber das vollständige Tag enthält auch die Marke.
exiftool.exe -d %Y-%m-%d_%H%M%%-c.%%e "-filename<${model;}_$CreateDate" -r DIRECTORY
Erstellt:
NIKON D750_2019-03-07_2156.nef
KODAK DC280 ZOOM DIGITAL CAMERA_1999-05-31_1200.jpg
Idealerweise möchte ich nur "D750" oder "DC280" im Dateinamen.
Kann ich das in exiftool machen? Oder wäre dies besser in einem anderen "Umbenennungs" -Programm möglich? Irgendwelche Empfehlungen?
Es gibt kein 'besseres' Tag, das man verwenden könnte:
exiftool -s "KODAK DC280 ZOOM DIGITAL CAMERA_1999-05-31_1200.jpg"
ExifToolVersion : 11.38
FileName : KODAK DC280 ZOOM DIGITAL CAMERA_1999-05-31_1200.jpg
Make : EASTMAN KODAK COMPANY
Model : KODAK DC280 ZOOM DIGITAL CAMERA
Copyright : KODAK DC280 ZOOM DIGITAL CAMERA
CameraOwner : KODAK DC280 ZOOM DIGITAL CAMERA
Sie können dies mit ExifTool mithilfe eines regulären Ausdrucks tun. Ich benutze das:
exiftool $TARGET '-filename<${createdate}_${model;s/-//g;s/ //g;tr/A-Z/a-z/}_${filename;tr/A-Z/a-z/}' -d %Y%m%d
Dadurch werden Bindestriche und Leerzeichen entfernt und das Tag in Kleinbuchstaben geschrieben – es ist der ${model;s/-//g;s/ //g;tr/A-Z/a-z/}
Teil. Sie können dort grundsätzlich jeden Perl-kompatiblen regulären Ausdruck verwenden, um die Transformation durchzuführen. Wenn Sie damit nicht vertraut sind, können Sie etwas mehr in der Perl-Dokumentation oder in anderen Online-Tutorials nachlesen. Die Einzelheiten dieses Skripts sind meiner Meinung nach außerhalb des Bereichs der Fotografie, aber dies sollte Ihnen den Einstieg erleichtern.
${model;s/ZOOM DIGITAL CAMERA|KODAK|NIKON//;s/^\s+|\s+(?:$)//g}
Dies entfernt die anstößigen Wörter und schneidet dann alle führenden/nachgestellten Leerzeichen ab. Der Grund dafür, dass es eine Non-Capture-Gruppe um das herum gibt, ist, das Muster
$
zu vermeiden , das exiftool in bestimmten Situationen als neue Linie behandelt.$/
Michael C
xiota