如何使用Exiftool在目录中的所有图像中添加subecdateTimeRiginal?
如果我使用以下命令,则会获取警告:没有可写的标签设置
exiftool '-subsecdatetimeoriginal+<0:0:0${filesequence;$_*=0.500}' -overwrite_original ./images
,如果我这样做:
exiftool '-datetimeoriginal+<<0:0:0${filesequence;$_*=0.500}' -overwrite_original ./images
这是正确更改日期和时间部分,但不更新 <代码> suptectimeoriginal
因此,如果第一个图像具有subsectimeoriginal = 100
,那么所有图像都具有相同的值。
If i use below command then i get Warning: No writable tags set
exiftool '-subsecdatetimeoriginal+<0:0:0${filesequence;$_*=0.500}' -overwrite_original ./images
and if i do:
exiftool '-datetimeoriginal+<<0:0:0${filesequence;$_*=0.500}' -overwrite_original ./images
This is changing the date and time part correctly but not updating the millisecond part for SubSecTimeOriginal
so if first image has SubSecTimeOriginal=100
then all images have same value when it should all be different.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
subsecdateTimeoriginal
标签不是实际嵌入文件中的标签,而是复合标签 exiftool在阅读/写作时即时创建。此标签不能移动,不幸的是,除非您添加-v3
(-verbose3
)选项,在其中说综合:subecdateTimeoriginal不可移动
。解决方法是使用XMP日期/时间邮票标签,因为它们可以包含全日制值(子卡和时区),这与EXIF时间标签分为三个单独的标签不同。
XMP:DateTimeRiginal
将是最合适的标签。如果尚未设置,您将首先从
subsecdateTimeoriginal
复制时间。然后,您将运行命令来增加时间戳。最后,您将复制XMP:dateTimeoriginal
返回subsecdatementemineoriginal
。示例命令和输出:
The
SubSecDateTimeOriginal
tag is not a tag that is actually embedded in the file, but is instead a Composite tag that exiftool creates on the fly while reading/writing. This tag is cannot be shifted and unfortunately, there isn't a warning about this unless you add the-v3
(-verbose3
) option, where it will sayComposite:SubSecDateTimeOriginal is not shiftable
.A workaround would be to use an XMP date/time stamp tag, as they can contain the full time value (subsecond and time zone), unlike EXIF time tags which are split into three separate tags.
XMP:DateTimeOriginal
would be the most suitable tag.If it's not already set, you would first copy the time from
SubSecDateTimeOriginal
. Then you would run your command to increment the time stamp. Finally, you would copy theXMP:DateTimeOriginal
back intoSubSecDateTimeOriginal
.Example commands and output: