首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用文件名图片编辑Exif数据

使用文件名图片编辑Exif数据
EN

Stack Overflow用户
提问于 2014-01-04 16:24:19
回答 1查看 2.6K关注 0票数 1

我拥有大约一千张不包含Exif数据的图片。由于我至少会使用文件名恢复所获取的日期,是否有一种以编程方式编辑这些字段的方法?

文件名如下所示: IMG_20130326_232320.jpg

谢谢大家的关注!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-04 16:55:49

当然,您可以很容易地使用exiv2实用程序和*nix系统上的一些shell脚本来完成这一任务。

假设您位于包含文件的目录中,您可以这样做:

代码语言:javascript
复制
for pic in *.jpg ; do
  date = $( echo $pic | cut -d. -f1 | cut -d_ -f2-3 )
  exiv2 -M"set Exif.Image.DateTime Ascii $date" $pic
done

这将在图像的date_time字段中存储一个“DateTime”字符串。如您所见,Exif.Image.DateTime字段接受一个ASCII字符串,因此您可以执行任何您想要的处理以获得更好的日期。在您的示例中,该字段将包含字符串20130326_232320,但是您可以使用一些解析来完成您想做的任何事情。

使用IPTC格式以及相应的IPTC.DateIPTC.Time字段(可能更好,这取决于您的需要),这需要特定的数据格式,但是照片管理程序更容易理解。

exiv2手册页指定IPTC.Date格式为YYYY-MM-DD格式,而IPTC.Time格式为HH:MM:SS+|-HH:MM格式(本地时间加上来自UTC的本地偏移量)。您可以以同样的方式设置它们,但是当然需要更多的文件名解析。

exiv2工具也适用于Windows,因此,如果您知道一些批处理脚本,那么在那里实现它应该不会太困难。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20923497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档