我想知道如果"拍摄日期"字段为空,是否有办法根据"创建日期"字段大规模更改一系列照片?
从本质上讲,我试图创建一种方法,使脚本查看图像,如果拍摄日期为空,则将创建的大胆程度添加为拍摄日期字段,如果拍摄的日期字段有值,则继续。
也许ExifTool可以做到这一点,但我仍在研究如何做到。
您没有提到操作系统,但这个答案将主要适用于Windows,最后需要注意的是与Mac和视频文件一起使用。
部分问题在于;"拍摄日期";标签在Windows中,此属性由五个不同的可能标记填充,尽管EXIF:DateTimeOriginal
可能是复制到的最佳标记。
第二个问题是什么标签是你的";创建日期";标签由于元数据非常混乱,因此有六个标签可以填充该属性。这完全取决于您使用什么来查看";创建日期";。
使用exiftool,为了找出要从中复制的标记("创建日期"(,请在文件上运行此命令exiftool -time:all -G1 -a -s /path/to/file/
然后,您将检查输出,以找到要从中复制的标记的名称。然后,您可以运行此命令,将"替换为";SOURCETAG";带有要从exiftool "-AllDates<SOURCETAG" /path/to/files/
复制的标签的实际名称
AllDates
是三个最常见的时间戳标签的快捷方式:DateTimeOriginal
、ModifyDate
和CreateDate
。这些应涵盖";"拍摄日期";所有物
此命令可创建备份文件。添加-overwrite_original
以禁止创建备份文件。添加-r
以递归到子目录中。
附加说明:对于Windows下的PNG文件,您应该使用PNG:CreationTime
而不是AllDates
。对于Mac下的视频文件(MP4/Mov(,除非包含时区,否则不希望将时间戳复制到DateTimeOriginal
,因为这会导致照片应用程序显示损坏的时间戳。