【发布时间】:2019-05-20 15:23:25
【问题描述】:
我有一个包含许多图像文件的目录,这些文件没有设置 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,我需要将其设置为从文件名格式化的日期。
【问题讨论】:
标签: batch-file cmd exiftool