根据文件 EXIF 创建日期将数千个 jpg 文件移动到日常目录中

根据文件 EXIF 创建日期将数千个 jpg 文件移动到日常目录中

我有数千张 jpg 和 mp4 需要分类到目录结构中,其名称基于图片创建的日期。最好从 EXIF 日期开始,因为文件修改日期可能会关闭。但如果获取 EXIF 日期需要大量工作,我最好使用修改日期

所以,

  • file1拍摄于2014-06-30
  • file2拍摄于 2014-07-01
  • file3拍摄于2014-06-30

被移动到目录中

  • /140630/file1
  • /140701/file2
  • /140630/file3

我使用 OS X Yosemite 作为 Unix。

答案1

您可以安装 ImageMagick 并使用带有 -verbose 的识别工具,例如:

for f in *.jpg *.jpeg *.JPG *.JPEG *.mp4 *.MP4; do
  echo $f
  identify -verbose "$f"|grep exif:DateTime
  echo
done

Kepler22b-artwork.jpg

Kepler-62f_with_62e_as_Morning_Star.jpg
    exif:DateTime: 2013:04:08 10:45:44

logo.jpg

P1050030.JPG
    exif:DateTime: 2013:11:01 22:59:27
    exif:DateTimeDigitized: 2013:10:31 23:39:55
    exif:DateTimeOriginal: 2013:10:31 23:39:55

P1070322.JPG
    exif:DateTime: 2014:07:14 10:48:43
    exif:DateTimeDigitized: 2014:07:14 10:48:43
    exif:DateTimeOriginal: 2014:07:14 10:48:43

抱歉,这不是一个完整的解决方案,但如果您熟悉 bash 或 Python 等脚本语言,您可以轻松编写一个脚本来解析此输出并决定将每个输出放入哪个文件夹。

正如您所看到的,有些文件有 3 个 DateTime 字段,有些则没有,因此您可能会留下一些需要手动处理的字段,或者使用文件修改时间作为后备。

相关内容