Я хочу переименовать свои файлы, чтобы включить модель камеры, но полный тег также включает марку.
exiftool.exe -d %Y-%m-%d_%H%M%%-c.%%e "-filename<${model;}_$CreateDate" -r DIRECTORY
Создает:
NIKON D750_2019-03-07_2156.nef
KODAK DC280 ZOOM DIGITAL CAMERA_1999-05-31_1200.jpg
В идеале хотелось бы в названии файла только "D750" или "DC280".
Это то, что я могу сделать в exiftool? Или это лучше сделать в какой-то другой программе «переименования»? Есть рекомендации?
Нет лучшего тега для использования:
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
Вы можете сделать это с помощью ExifTool, используя регулярное выражение. Я использую это:
exiftool $TARGET '-filename<${createdate}_${model;s/-//g;s/ //g;tr/A-Z/a-z/}_${filename;tr/A-Z/a-z/}' -d %Y%m%d
который удаляет тире и пробелы и переводит тег в нижний регистр — это часть ${model;s/-//g;s/ //g;tr/A-Z/a-z/}
. Вы можете использовать в основном любое perl-совместимое регулярное выражение, чтобы выполнить преобразование. Если вы не знакомы с этим, вы можете прочитать немного больше в документации perl или в других онлайн-учебниках. Специфика этого скрипта выходит за рамки фотографии, я думаю, но это должно помочь вам начать.
${model;s/ZOOM DIGITAL CAMERA|KODAK|NIKON//;s/^\s+|\s+(?:$)//g}
Это удалит оскорбительные слова, а затем обрежет все начальные/конечные пробелы. Причина, по которой вокруг есть группа без захвата, $
заключается в том, чтобы избежать $/
шаблона, который exiftool обрабатывает как новую строку в определенных ситуациях.
Майкл С
ксиота