如何用ExifTool将索尼MP4视频的CreateDate加时区后重命名为指定格式
解决索尼MP4视频按时区转换后的时间重命名问题
我懂你现在的需求:要把索尼相机拍摄的MP4视频,用加上+09时区偏移后的CreateDate生成2019_1023_131032.MP4这种格式的文件名。其实只需要调整exiftool的命令,给CreateDate加上时区偏移同时指定新的文件名格式就行,具体操作如下:
方法一:直接给CreateDate加上时区偏移
用exiftool的ShiftTime函数对原始CreateDate做时间偏移调整,然后指定目标文件名格式。执行下面的命令:
C:\hoge>"exiftool(-k).exe" -r "-FileName<${CreateDate;ShiftTime('+09:00')}" -d "%Y_%m%d_%H%M%S.%%e" C:\hoge
命令参数说明:
${CreateDate;ShiftTime('+09:00')}:对CreateDate标签的时间值执行偏移操作,加上9小时的时区差,得到你需要的13:10:32这个时间。-d "%Y_%m%d_%H%M%S.%%e":定义文件名格式:%Y:4位年份(比如2019)%m%d:两位月份+两位日期(比如1023)%H%M%S:24小时制的时分秒(比如131032)%%e:保留原文件的扩展名(MP4)
-r:如果需要递归处理子目录里的文件就保留,不需要的话可以删掉。
方法二:直接使用已转换好的时间标签
你提到元数据里有Creation Date Value已经是转换后的2019:10:23 13:10:32+09:00,可以先确认这个标签的实际名称(exiftool里的标签名可能和显示的不一样),执行下面的命令查看所有时间相关标签:
C:\hoge>"exiftool(-k).exe" -time:all -s C:\hoge\C0001.MP4
输出里会列出类似CreateDate、MediaCreateDate、CreationDate这类标签,找到对应那个转换后时间的标签,比如假设是CreationDate,那命令可以简化为:
C:\hoge>"exiftool(-k).exe" -r "-FileName<CreationDate" -d "%Y_%m%d_%H%M%S.%%e" C:\hoge
先预览再执行(推荐)
不管用哪种方法,都可以先加上-testname参数预览生成的文件名,避免误操作:
C:\hoge>"exiftool(-k).exe" -r "-testname<${CreateDate;ShiftTime('+09:00')}" -d "%Y_%m%d_%H%M%S.%%e" C:\hoge
确认预览的文件名符合预期后,再把-testname换成-FileName执行实际重命名。
内容的提问来源于stack exchange,提问作者user3474300
相关产品推荐
相关产品推荐

