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

时间:2016-11-04 13:18:01

标签: touch exiftool filetime

要将图像的文件修改日期设置为exif日期,我尝试了以下操作: exiftool '-FileModifyDate<DateTimeOriginal' image.jpg 但这给了我一个关于SetFileTime的错误。 所以也许exiftool不能在linux中做到这一点。

我能结合吗? exiftool -m -p '$FileName - $DateTimeOriginal' -if '$DateTimeOriginal' -DateTimeOriginal -s -S -ext jpg .与&#34;触摸 - 日期...&#34;?

2 个答案:

答案 0 :(得分:1)

this Exiftool Forum post

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

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标记格式错误或者没有完整的日期/时间信息。

答案 1 :(得分: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
...

我输出文件名旁边的时间戳就足够了,但是给出了一些日期时间格式,它可以很容易地用来“触摸”文件来修改他们的文件系统时间戳。