如何根据 EXIF 数据批量重命名照片?

如何根据 EXIF 数据批量重命名照片?

我有一个DCIM目录,其中包含名为IMG_{NNNN}.JPG来自 iPhone 的照片和名为DSC_{NNNN}.JPG来自 Xperia 的照片。此目录是多个目录合并的结果,这些目录都包含具有相同名称的不同照片(例如,iPhone 3GS .../DCIM/IMG_0001.JPG、iPhone 4S.../DCIM/IMG_0001.JPG和 iPhone 5s 的.../IMG_0001.JPG不同照片,或恢复前的 Xperia Z3+.../DCIM/100ANDRO/DSC_0001.JPG和恢复后的 Xperia Z3+ 的.../DCIM/100ANDRO/DSC_0001.JPG不同照片)。为了重命名照片以避免被其他照片覆盖,我在列表中搜索了“漏洞”(例如,如果PIC10.JPG此后已被删除但PIC9.JPGPIC11.JPG仍在这里,我有一个漏洞,因此我可以将第二张照片重命名为PIC1.JPGPIC10.JPG这样我就不会丢失它,也不会得到一个包含名称看起来像重复文件的混乱目录)。

我想保留当前的照片命名法,例如 中的 iPhone 照片IMG_{NNNN}.JPG和 中的 Xperia 照片DSC_{NNNN}.JPG

我想按照 EXIF 数据的拍摄顺序重命名照片(例如,如果上面的例子PIC1-2.JPGPIC10.JPG之前拍摄的,PIC1.JPG那么这个PIC10.JPG会变成PIC1.JPG,并且所有后续照片都重命名为PIC{N+1}.JPG,或者PIC{N+X}.JPG如果 x 张照片位于列表的开头) - 将无 exif 的照片放在第一位(即,找到的第一张无 exif 的照片变成PIC1.JPG,第二张变成 ,PIC2.JPG等等)。

{ Date } iPhone photo.jpg除了使用照片的初始命名法(即无或Xperia photo from { Date }.jpeg)之外,我不想重命名照片。

有什么方法可以简单地做到这一点?我宁愿使用命令行来执行此操作,但即使是 Automator 脚本或组合方法(例如,Automator 脚本调用 shell 脚本)也可以很好地完成 - 只要一旦开始运行,我就不必触摸键盘,直到工作完成。

谢谢。

相关内容