У меня есть каталог со многими файлами изображений, для которых не установлены метаданные DateTimeOriginal, но есть эта дата в самом имени файла в формате YYYMMDD
, например 20120524_091536.mp4
Я хочу использовать exiftool для перемещения этих файлов в папки с годом, а затем в подпапки месяца (а затем также установить DateTimeOriginal, используя эту дату из имени файла).
Что-то вроде этого:
exiftool -d "%Y-%m-%d" "-testname<D:\Pictures\${filename#;DateFmt('%Y')}\${filename#;DateFmt('%m')}\$FileName" "D:\Pictures\2012-05-24" -r
Но это дает Error converting date/time for 'filename'
ошибку. Что имеет смысл, как мне указать форматировать только первые 8 цифр имени файла до даты?
Причина, по которой я хочу использовать ExifTool для этого, заключается в том, что я собираюсь дополнительно уточнить этот оператор, чтобы сделать это только для файлов, у которых еще нет набора метаданных datetimeoriginal
, поэтому exiftool может отфильтровать их ... что-то вроде этого квалификатор:
exiftool '-datetimeoriginal<filemodifydate' -if '(not $datetimeoriginal or ($datetimeoriginal eq "0000:00:00 00:00:00")) and ($filetype eq "JPEG")'
Но вместо того, чтобы устанавливать datetimeoriginal на filemodifydate, мне нужно установить его на дату, отформатированную на основе имени файла.