从 exif 日期设置文件修改日期

问题描述 投票:0回答:2

要将图像的文件修改日期设置为 exif 日期,我尝试了以下操作:

exiftool '-FileModifyDate<DateTimeOriginal' image.jpg
但这给了我一个关于 SetFileTime 的错误。 所以也许 exiftool 在 Linux 中无法做到这一点。

我可以合并吗

exiftool -m -p '$FileName - $DateTimeOriginal' -if '$DateTimeOriginal' -DateTimeOriginal -s -S -ext jpg .
与“touch --date ...”?

touch exiftool filetime
2个回答
3
投票

请参阅 此 Exiftool 论坛帖子

那里使用的命令是(注意使用反引号,而不是单引号):

touch -t `exiftool -s -s -s -d "%Y%m%d%H%M.%S" -DateTimeOriginal TEST.JPG` TEST.JPG  

但我对你的错误很好奇。 Exiftool 应该能够在 Linux 上设置 FileModifyDate(尽管 FileCreateDate 是一个不同的故事)。您使用的是哪个版本的 Exiftool(

exiftool -ver
检查)?

另一种可能性是

DateTimeOriginal
标签格式错误或没有完整的日期/时间信息。


0
投票

FWIW,StarGeek 的答案是一个很好的指示,指向正确的方向,但它对我不起作用:我的许多照片被报告为“无效的 EXIF 文本编码”(与“良好”的照片相比没有明显差异),即使

exiftool somefile.jpg
会清楚地输出有效的“修改日期”。

这就是我所做的:

for i in *.jpg ; do d=`exiftool $i | grep Modify | sed 's/.*: //g'` ; echo "$i : $d" ; done

...产生这样的输出:

CAM00786.jpg : 2013:11:19 18:47:27
CAM00787.jpg : 2013:11:25 08:46:08
CAM00788.jpg : 2013:11:25 08:46:19
...

对我来说,在文件名旁边输出时间戳就足够了,但是如果有一点日期时间格式,它可以很容易地用于“触摸”文件以修改其文件系统时间戳。

© www.soinside.com 2019 - 2024. All rights reserved.