十年左右的时间里,我用各种相机拍摄了近一百万张照片,终于完成了组织的艰巨任务。为了实现某种程度的自动化,我正在寻找一种软件(首选轻量级),该软件可以根据拍摄日期(未修改)和相机型号来重命名每张照片,这些信息可以从文件的EXIF数据中获取。

例如,

2016年2月29日使用佳能EOS 80D拍摄的IMG_9532.JPG将被标记为CANON EOS 80D 29/02/2016或类似的名称。

该软件应可用于Linux(首选Ubuntu)。 CLI界面很好。

#1 楼

exiftool命令行实用程序(来自相同名称的软件包)读取和写入EXIF信息。 “写入”可以包括重命名文件。手册中的“重命名示例”下有示例。您还需要类似(未经测试)的内容

exiftool -d '%Y-%m-%d' -filename'<${model;}-${datetimeoriginal;}.%e' *.jpg


也要处理子目录中的文件:

find . -name '*.jpg' -exec exiftool '-filename<%d/${model;}-${datetimeoriginal;}.%e' {} +


评论


是的!如果Gilles尚未推荐,我现在就推荐。我经常使用exiftool,不想没有。因此,我+1,并将我的评论作为该出色命令行工具的另一项建议!

– Izzy♦
15年12月21日在19:12

#2 楼

在Gilles提交这个出色的答案之前,我正在尝试使用Python编写的GUI工具pyRenamer。它允许根据现有文件名的一部分以及使用它们的元数据(用于照片和音乐)对文件进行整体重命名。

对我来说,使用起来很简单。我设法使用以下文件名模式来重命名我的文件:

{cameramaker} {cameramodel} {imageyear}.{imagemonth}.{imageday} {imagetime}:{imagesecond} {1} {rand}


但是,此工具似乎不再受到维护,尤其是因为主页似乎不可用。此外,关于可用模式的文档很少。虽然可以通过将鼠标悬停在相关字段上来获取列表,但是显示的列表可能会超出大多数屏幕的高度,因此无法完全查看。