exiftool - переименовать только по модели, а не по производителю

Я хочу переименовать свои файлы, чтобы включить модель камеры, но полный тег также включает марку.

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, касаются «манипулирования данными, которые не связаны с внешним видом какой-либо фотографии».

Ответы (1)

Вы можете сделать это с помощью 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 или в других онлайн-учебниках. Специфика этого скрипта выходит за рамки фотографии, я думаю, но это должно помочь вам начать.

Для использования в конкретном случае @RadOD они могут использовать ${model;s/ZOOM DIGITAL CAMERA|KODAK|NIKON//;s/^\s+|\s+(?:$)//g}Это удалит оскорбительные слова, а затем обрежет все начальные/конечные пробелы. Причина, по которой вокруг есть группа без захвата, $заключается в том, чтобы избежать $/шаблона, который exiftool обрабатывает как новую строку в определенных ситуациях.