如何同时重命名多张图片?


13

例如,我从互联网上下载了20张图片。它们有一些疯狂的名称,例如“ XFGHDHR345”或“ SDEREWQ230”,我想命名它们:

“图1”
“图2”
“图3”
“图4”
“图5”
.....
“图20”

我不想一一键入。我想立即更改他们的名字。

有没有办法做到这一点?


对于那些拥有Photoshop的用户来说,轻松地做到这一点确实做得很好。
bassplayer7 2013年

Answers:


16

使用内置工具“ Automator”,您可以定义工作流以批量重命名文件。

为此,您将必须:

  1. 打开Automator ,使用Spotlight或在/ Applications中找到它
  2. 创建一个新的工作流程
  3. 在搜索栏中输入get 在此处输入图片说明

  4. 滚动到项目列表的底部,然后将“ 获取指定的项目”从左侧面板的“ 文件和文件夹”操作列表中拖放到右侧面板中

  5. 单击添加按钮,找到您的文件
  6. 添加排序查找器项操作,然后重命名查找器项
  7. “重命名查找器项目”面板中,选择“顺序生成”“添加编号到” 图片
  8. 点击播放按钮,您应该已经完成

看看这里在这里为您的具体手头任务重命名的例子教程。关于Automator的功能以及其作为个人助手的功能(和简单)的出色概述-请参见网页http://macosxautomation.com/automator/index.html


Automator的一个很好的例子-在这种情况下,显然可以清除照片文件。我将添加Automator资源的祖父,Sal Saghoian的macosxautomation.com/automator/index.html
bmike

13

是的,您可以使用终端:

  1. 例如,将所有图片移动到桌面上的临时文件夹中 Temp

  2. 打开应用程序>实用程序> Terminal.app。

  3. 将目录更改为Temp

    cd ~/Desktop/Temp
    

    在哪里~扩展到您的主目录(即/Users/<yourusername>。)

  4. 运行以下复合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"
    (...)
    

有关bash外壳的更多信息,请参见man bash。有关外壳脚本的更多信息,请参阅Apple开发人员网站上的本指南


1
比起我们那里,这是使用Shell处理文件编辑的更好的解释。当然,该示例是一个简单的编辑-所有具有模式ABC的文件都需要重命名为123,因此它必须稍微复杂一些。如果我有两票,则+2。
bmike

@Jadav我认为您在这里未正确计算击键次数。即使您绕过Finder并在每个Finder上按Enter(而不是单击),即使只执行20张图片,运行脚本的效率仍然更高。
Zigg 2013年

与Automator解决方案相比!但是比这新的东西对您来说是令人印象深刻的编程。
雅达夫

4

如果要将数字零填充或文件具有不同的扩展名:

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

HOLA @Lauri Ranta,那是英语:),还是在对它进行处理之后计算机冒烟了?
Jadav

4

如果您有优胜美地,它将内置在Finder中。只需选择文件,右键单击并选择“重命名n个文件”。然后将下拉列表更改为“过滤器”,瞧!您可以批量重命名!


哇!还没注意到那个。还包括用于添加文本的选项,以及一些更高级的格式化操作。Finder无法撤消该操作。
Wayfaring Stranger 2015年

哇!这次真是万分感谢。我不敢相信只用了1.5秒就重命名了大约50张图像。然后,@ badabamn,该解决方案甚至更快!!!谢谢大家!
JJ Spelman,2015年

3

如果您不想使用Terminal或Automator,则可以使用带有GUI的商业应用程序来执行此操作。一个是A Better Finder Rename,它具有免费的试用版。


+1为ABFR-尽管确实要花20美元,但它可以很轻松地处理此特定任务,该任务的初始文件名是随机的,此外还有许多其他更复杂的批处理重命名任务。
calum_b

我总是喜欢指出使用带有实用GUI的商业实用程序的选项,因为许多临时用户发现使用Terminal或Automator对于某些任务来说太困难了。ABFR是一种非常灵活且效果很好的精致产品的示例。对于许多用户来说,花费20美元比学习很少使用的文本命令的复杂性更好。您可以决定使用哪个。

3

我将在这里推荐NameChanger应用程序。它非常简单和快速使用。那里提供了很好的选项来重命名具有不同条件的文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.