在 EXIF 信息中按日期对图像进行排序和重命名

ska*_*zhy 10 linux exif rename imagemagick

我的照片文件夹里乱七八糟;我想根据 EXIF 信息中的日期对它们进行排序并根据日期重命名(如 001.jpg、002.jpg 等)。

我怎样才能在 Linux 中做到这一点?我之前已经将 ImageMagick 用于一些基本的批量处理任务(转换和调整大小等),是否可以将它用于此任务?

小智 23

您可以使用exiftool。出于某种原因,在线手册不包含给我基本提示的“重命名示例”部分。

对于仅 JPG 文件,以下命令调用应该完成这项工作:

exiftool -r '-FileName<CreateDate' -d '%Y-%m-%d/%H_%M_%S%%-c.%%le' <yourFolder>
Run Code Online (Sandbox Code Playgroud)

解释:

  • -r 用于递归
  • '-FileName<CreateDate'告诉 exiftool 根据其 EXIF 标签重命名文件CreateDate(你可以尝试其他类似的ModifyDate
  • -d '%Y-%m-%d/%H_%M_%S%%-c.%%le'告诉如何从日期源“ CreateDate”构建文件名字符串(“ %-c”将在文件冲突的情况下附加一个计数器,“ %le”代表“小写文件扩展名”)
  • 注意:我-FileName<...在这里使用了“ ”来重命名文件并将其移动到一个步骤中的另一个文件夹中。手册指出您必须使用“ -Directory<...”语法进行文件夹操作。不过,它以这种方式对我有用。

您应该花一些时间阅读这个强大工具的手册。也许有更短的方法:D


har*_*ymc 5

试试这个免费产品:AmoK Exif Sorter