如何使用Phil Harvey的ExifTool逐张递增调整文件夹内照片拍摄时间
照片拍摄时间批量递增调整方案
需求说明
- 相册内所有照片原始拍摄时间完全一致,Apple Photos会随机排序,需按文件名顺序给每张照片的拍摄时间依次加1秒、2秒……以此类推
- 本人为职业摄影师,无编程基础,看不懂官方说明
原脚本问题
原脚本的capture_date仅在初始化时赋值一次,循环过程中不会更新时间,导致所有照片都被设置为同一个时间(2022:10:21 15:43:01),无法实现递增效果。
修正后的脚本
number=1 # 这里替换成你照片的原始统一拍摄时间 base_date="2022:10:21 15:43:00 +01:00" for photo in /Users/zed/Desktop/Louvre/* do # 给当前照片的拍摄时间在基准时间基础上加number秒 exiftool "-xmp:dateTimeOriginal<${base_date}+${number}sec" "$photo" # 递增秒数计数器 number=$((number + 1)) done
关键说明
base_date:填写你相册里照片原本的统一拍摄时间,格式要和示例一致(年:月:日 时:分:秒 时区)- exiftool自带时间运算功能,用
+${number}sec直接在基准时间上累加秒数,不用手动拼接时间字符串,避免格式错误 - 给
$photo加双引号,防止文件名包含空格时脚本出错 - 如果需要同时修改照片EXIF原生的
DateTimeOriginal字段(确保Apple Photos能正确识别),可以把命令改成:exiftool "-DateTimeOriginal<${base_date}+${number}sec" "-xmp:dateTimeOriginal<${base_date}+${number}sec" "$photo"
操作提示
- 运行脚本前建议先挑选1-2张照片做测试,确认时间修改正确后再批量处理所有照片
内容的提问来源于stack exchange,提问作者zed
相关产品推荐
相关产品推荐

