繁体   English   中英

如果“拍摄日期”字段为空,则从照片的“创建日期”字段中插入“拍摄日期”

[英]Inserting 'date taken' from a photo's 'date created' field IF the 'date taken' field is empty

我想知道如果“拍摄日期”字段为空,是否有办法根据“创建日期”字段批量更改一系列照片?

从本质上讲,我正在尝试创建一种方法,以便脚本查看图像,如果 Date Taken 为空,则添加 Dare Created 作为 Date Taken 字段,如果 Date Taken 字段具有值,则它继续前进。

也许 ExifTool 可以做到这一点,但我仍在研究如何做到这一点。

你没有提到操作系统,但这个答案主要适用于 Windows,最后有一个警告,用于 Mac 和视频文件。

部分问题在于没有“拍摄日期”标签。 在 Windows 中,此属性由五个不同的可能标记填充,但EXIF:DateTimeOriginal可能是复制到的最佳标记。

第二个问题是您的“创建日期”标签究竟是什么标签。 由于元数据是如此混乱,有六个标签可以填充该属性。 这完全取决于您使用什么查看“创建日期”。

使用 exiftool,为了找出要从中复制的标签(“创建日期”),请在文件上运行此命令
exiftool -time:all -G1 -a -s /path/to/file/

然后,您将检查输出以查找要从中复制的标签的名称。 然后,您可以运行此命令,将“SOURCETAG”替换为要从中复制的标签的实际名称
exiftool "-AllDates<SOURCETAG" /path/to/files/

AllDates是三个最常见的时间戳标记的快捷方式: DateTimeOriginalModifyDateCreateDate 这些应涵盖“拍摄日期”属性。

此命令创建备份文件。 添加-overwrite_original以禁止创建备份文件。 添加-r以递归到子目录。

附加说明,对于 Windows 下的 PNG 文件,您将使用PNG:CreationTime而不是AllDates 对于 Mac 下的视频文件 (MP4/Mov),除非您包含时区,否则您不希望将时间戳复制到DateTimeOriginal ,因为这会导致照片应用程序显示损坏的时间戳。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM