使用 applescript 批量自定义重命名文件
Batch custom rename files with applescript
我有数百个图像文件,当前命名为:
[姓氏], [名字].jpg
我需要重命名它们:
[名字]_[姓氏].jpg
所以我不能做简单的搜索和替换或顺序约定或类似的事情。我需要复制逗号后面的内容,将其粘贴到前面并将“,”替换为“_”
我对 applescript 很陌生,但这似乎是一个解决方案。有没有人对我如何做到这一点有任何想法?
我会先进行备份,然后在单独目录中的文件的备用副本上执行此操作。
将其保存在您的 HOME 目录中 go
#!/bin/bash
shopt -s nullglob nocaseglob
for f in *,*.jpg; do
base=${f/.*/} # strip extension
last=${base/,*/} # remove comma and anything after
first=${base/*,/} # remove anything up to and including comma
echo mv "$f" "${first}_${last}.jpg"
done
现在开始 Terminal
并使脚本可执行:
chmod +x go
现在将目录更改为您的图像所在的位置,因此如果它们在您桌面上名为 COPY
的文件夹中
cd Desktop/COPY
然后 运行 脚本:
$HOME/go
如果命令看起来正确,请编辑脚本并删除接近末尾的单词 echo
并再次 运行 它,真的。
对了,mv
是重命名文件的命令,所以下面把fileA
的名字改成fileB
:
mv fileA fileB
我有数百个图像文件,当前命名为:
[姓氏], [名字].jpg
我需要重命名它们:
[名字]_[姓氏].jpg
所以我不能做简单的搜索和替换或顺序约定或类似的事情。我需要复制逗号后面的内容,将其粘贴到前面并将“,”替换为“_”
我对 applescript 很陌生,但这似乎是一个解决方案。有没有人对我如何做到这一点有任何想法?
我会先进行备份,然后在单独目录中的文件的备用副本上执行此操作。
将其保存在您的 HOME 目录中 go
#!/bin/bash
shopt -s nullglob nocaseglob
for f in *,*.jpg; do
base=${f/.*/} # strip extension
last=${base/,*/} # remove comma and anything after
first=${base/*,/} # remove anything up to and including comma
echo mv "$f" "${first}_${last}.jpg"
done
现在开始 Terminal
并使脚本可执行:
chmod +x go
现在将目录更改为您的图像所在的位置,因此如果它们在您桌面上名为 COPY
cd Desktop/COPY
然后 运行 脚本:
$HOME/go
如果命令看起来正确,请编辑脚本并删除接近末尾的单词 echo
并再次 运行 它,真的。
对了,mv
是重命名文件的命令,所以下面把fileA
的名字改成fileB
:
mv fileA fileB