我在一次活动中拍摄了 300 张照片。后来我注意到相机中的日期设置不正确——休息一天。文件中有很多 EXIF 数据,而不仅仅是创建日期。
如何仅更改所有相关 EXIF 字段中包含的日期以更正日期(准确减去一天)?
此修改不应更改其他数据!
也许对于每个文件,我可以转储数据(exiftool
或exiv2
?),然后修改转储(使用awk
?),然后从修改后的转储中替换 EXIF 数据?但是怎么做?
编辑:
每个文件有很多数据:
# exiftool IMG_9040.JPG | wc
289 2218 13996
很多是日期:
# exiftool IMG_9040.JPG | grep 2021 | grep -v File
Modify Date : 2021:11:02 17:06:58
Date/Time Original : 2021:11:02 17:06:58
Create Date : 2021:11:02 17:06:58
Create Date : 2021:11:02 17:06:58.24+01:00
Date/Time Original : 2021:11:02 17:06:58.24+01:00
Modify Date : 2021:11:02 17:06:58.24+01:00
我希望改变所有这些。
Exiftool 有一个
-alldates
参数:根据此论坛评论(Phil Harvey),上面的代码可以减少 24 小时:
https://exiftool.org/forum/index.php?topic=6330.msg31354#msg31354
您可以将上述代码与
-out
文件规范结合起来,例如-out ./newJPG.jpg
或(在新目录中),与-out ./newdir/newJPG.jpg
. 规范在-out
调用 后直接插入exiftool
。您还可以尝试添加到
-out
文件规范(在进行备份之后!),选项-overwrite_original
OR-overwrite_original_in_place
,在调用之后直接插入exiftool
. 详情请参阅exiftool --help
。请注意,这篇文章的早期版本建议使用该
-globalTimeShift
参数,如下所示:但是(根据 Phil Harvey 的说法),“
-globalTimeShift
仅当您想要将转换的日期/时间值复制到另一个标签时才需要该选项。” ,例如-geo
标签。看:https://exiftool.org/forum/index.php?topic=9224.msg47655#msg47655
https://exiftool.org/forum/index.php?topic=6330.msg31354#msg31354
https://exiftool.org/exiftool_pod.html
https://exiftool.org/
您可以键入:
增加 24 小时。