如何提取 EXIF 创建日期并设置文件创建日期

如何提取 EXIF 创建日期并设置文件创建日期

从 iPhone 传输图像时不知何故弄错了文件日期。我想从 EXIF 数据中设置它们。

我已经找到了解决方案,但无法将其转换为批处理作业。请随意提供帮助,也许其他用户会觉得它有用。

答案1

find . -type f -iname "*.jpg" -print0 | xargs -0 -n1 -I % sh -c 'touch % -d "$(file %|grep -oP "datetime=\K[^,]*"|sed -e "s/:/-/"|sed -e "s/:/-/")"'

答案2

我用这个命令解决了它。

identify -verbose <file> |egrep "Image:|exif:DateTimeDigitized:" |sed '{N;s,Image: \(.*\)\n.*exif:DateTimeDigitized: \(.*\),touch -d "\2" \1,}'|sed 's,2017:10:,2017-10-,'

我无法将其转换为批处理作业,因为sed它需要处理多行,而这会与处理列表的不同方法(xargs,简单列表......)发生冲突。

只需将其通过管道传输到 bash 来执行或复制和粘贴。

相关内容