例如,我从互联网上下载了20张图片。它们有一些疯狂的名称,例如“ XFGHDHR345”或“ SDEREWQ230”,我想命名它们:
“图1”
“图2”
“图3”
“图4”
“图5”
.....
“图20”
我不想一一键入。我想立即更改他们的名字。
有没有办法做到这一点?
例如,我从互联网上下载了20张图片。它们有一些疯狂的名称,例如“ XFGHDHR345”或“ SDEREWQ230”,我想命名它们:
“图1”
“图2”
“图3”
“图4”
“图5”
.....
“图20”
我不想一一键入。我想立即更改他们的名字。
有没有办法做到这一点?
Answers:
使用内置工具“ Automator”,您可以定义工作流以批量重命名文件。
为此,您将必须:
在搜索栏中输入get
滚动到项目列表的底部,然后将“ 获取指定的项目”从左侧面板的“ 文件和文件夹”操作列表中拖放到右侧面板中
看看这里或在这里为您的具体手头任务重命名的例子教程。关于Automator的功能以及其作为个人助手的功能(和简单)的出色概述-请参见网页http://macosxautomation.com/automator/index.html
是的,您可以使用终端:
例如,将所有图片移动到桌面上的临时文件夹中 Temp
。
打开应用程序>实用程序> Terminal.app。
将目录更改为Temp
:
cd ~/Desktop/Temp
在哪里~
扩展到您的主目录(即/Users/<yourusername>
。)
运行以下复合shell命令:
n=1; for file in *; do mv "$file" "Picture $n"; let n++; done
哪里:
for ...; do ...; done
循环显示您的20个文件。file
是保存文件名的变量。有关更多信息,请参见本文。
n
,最初设置为1,并且每次使用let n++
,每次迭代都加1 ,是重命名文件的整数后缀。
mv "$file" "Picture $n"
重命名文件。$n
是variable的值n
。
shell命令等效于:
mv SDEREWQ230 "Picture 1"
mv XFGHDHR345 "Picture 2"
mv YWUU7738DT "Picture 3"
(...)
如果要将数字零填充或文件具有不同的扩展名:
i=1; for f in *; do mv "$f" Picture\ $(printf %03d $i).${f#*.}; let i++; done
更多示例:
# lowercase (Bash 4) and replace spaces with underscores
for f in *; do f2=${f,,}; mv "$f" "${f2// /_}"; done
# number based on modification date
IFS=$'\n'; i=1; for f in $(ls -rt *.jpg); do mv "$f" $(printf %04d $i).jpg; let i++; done
# file-5.jpg to file-005.jpg
for f in *; do b=${f%.*}; x=${f#*.}; mv "$f" "${b%-*}-$(printf %03d ${b#*-}).$x"; done
如果您有优胜美地,它将内置在Finder中。只需选择文件,右键单击并选择“重命名n个文件”。然后将下拉列表更改为“过滤器”,瞧!您可以批量重命名!
如果您不想使用Terminal或Automator,则可以使用带有GUI的商业应用程序来执行此操作。一个是A Better Finder Rename,它具有免费的试用版。
我将在这里推荐NameChanger应用程序。它非常简单和快速使用。那里提供了很好的选项来重命名具有不同条件的文件。