Mac 命令行:如何使用实际内容创建日期重命名所有图片

ale*_*lex 3 macos terminal command-line

当显示图片文件上的信息(cmd+I)时,我们会看到“内容创建”日期。如何利用这个日期批量重命名图片?

ale*_*lex 8

这些mdls命令显示了有关图片文件的大量有用信息,包括kMDItemContentCreationDate. 请注意,这是注意创建日期,因此如果照片是在手机上拍摄的,然后复制了很多次,您仍然可以获得照片拍摄的实际日期(对于重命名照片非常有用。)

下面是一个脚本,对于当前文件夹中的每个文件,使用 kMDItemContentCreationDate 给出的日期重命名该文件,格式为 YYYY-MM-DD_HH-mm-ss.previousFileExtension :

for f in *.*; do 
   mv "$f" "$(mdls -name kMDItemContentCreationDate "$f" | sed s/kMDItemContentCreationDate...// | sed s/.+0000// | sed s/:/-/g | sed s/\ /_/g).${f##*.}"; 
done
Run Code Online (Sandbox Code Playgroud)