Mac OS批量命名文件

Posted 青石野草

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mac OS批量命名文件相关的知识,希望对你有一定的参考价值。

1. 基本概念

所谓批量命名文件,其实就是同时对多个文件进行重命名。虽然在Mac OS操作系统上有很多的第三方应用程序都支持这个功能,但其实Mac OS自身就具备这一能力。这不仅免去了我们安装其它程序的麻烦,而且这一功能还十分强大。

要想批量命名文件,首先要做的就是全部选中这些文件。然后在其中任一文件的图标上单击鼠标右键,在弹出的菜单中选择“给xx个项目重新命名...”,如下图所示。这样做了之后就会弹出进行重命名操作的对话框。

总的来说,Mac OS自身支持以 替换文本 添加文本 格式 三种方式实现批量命名文件。下面我们就会针对这三种方式中的每一种进行说明;但为了后面叙述的方便,我们还要先来讨论一下关于文件名的问题。

2. 文件名的讨论

当我们提到“文件名”这一概念的时候,通常是包含了文件的扩展名的。比如文件index.html,我们通常认为它的文件名就是index.html,包括了它的扩展名.html。但是在Mac OS批量命名文件的过程中,常常会遇到“名称”这个概念,它指的却是我们平常认为的文件名中不包含扩展名的那一部分内容。还是以文件index.html为例,此时的“名称”指的是index,而不包括.html。

在此,我们约定在后文中用文件全名这一术语指代我们平常认为的文件名概念,即它包含扩展名;而当我们提到文件名称这一术语时,它就只代表文件全名中不包含扩展名的那一部分。

那么Mac OS是如何判断一个文件的扩展名的呢?根据我的试验,如果一个文件全名中最后一个英文句点之后还有其它的字符且这些字符中不包含空格符,那么该句点和其之后的字符就被当作该文件的扩展名。比如一个文件的全名为user.php.txt,那么它的扩展名就是.txt,而文件名称就只是user.php。

除此之外,即当一个文件全名中不包含任意英文句点或者最后一个英文句点后没有其它字符或者最后一个英文句点后的字符中包含空格符的时候,那么该文件就没有扩展名。当一个文件没有扩展名的时候,它的文件全名和文件名称就代表相同的内容。

好了,只要理清了文件全名和文件名称的概念,实际操作起来就很简单了。

3. 替换文本

“替换文本”方式就是你可以将文件全名(包含扩展名)中的某一个文本替换为另一个文本。在重命名对话框左上角的下拉菜单中选择替换文本选项,此时该对话框就会像下面这样:

Mac OS批量命名文件

在左边的查找输入框中输入想要被替换的文本,而在右边的替换为输入框中输入新的文本。在该对话框的左下角还会显示此操作的效果,不过此示例显示的是以第一个文件的文件全名为例子进行你指定的重命名操作后的结果。当确认输入后,再点击右下角的重新命名按钮就会对所有选中的文件进行重命名;如果某个文件原本的文件全名中不包含要被替换的文本的话,那么它的文件全名不会变。

如果“替换文本”操作会改变某个文件的扩展名的话,那么在实际重命名该文件之前还会弹出一个对话框让你确认是否要使用新的扩展名。

4. 添加文本

“添加文本”方式就是在当前文件名称(不包含扩展名的那一部分)的前面或后面添加指定的文本。在重命名对话框左上角的下拉菜单中选择添加文本选项,此时该对话框就会像下面这样:

Mac OS批量命名文件

在中间的输入框中输入你想要添加的文本,然后在右边的下拉菜单中选择该文本是添加到当前文件名称之前还是之后。

假设我进行批量命名的文件中有一个的文件全名为tele.txt,且我选择的方式是在名称之后添加文本phone。那么重命名后该文件的文件全名为telephone.txt,而不是tele.txtphone。如果你不知道为什么会这样的话,那么请回顾一下第2小节的内容。

5. 格式

“格式”方式就是以一种新的命名格式产生一个新的文件名称,再用它替换文件当前的文件名称,其中又包含3种子格式,它们分别是名称和索引名称和计数名称和日期

5.1 名称和索引

“名称和索引”格式就是用一个新的文本,再附加一个数字编号作为新的文件名称。当我们在重命名对话框左上角的下拉菜单中选择格式选项,再在它下面的名称格式下拉菜单中选择名称和索引时,该对话框就是像下面这样的:

Mac OS批量命名文件

在左边的自定格式输入框中输入要使用的文本,再在右边的开始数字为输入框中输入第一个文件的编号,后面文件的编号会依次递增;位置下拉菜单可以选择数字编号是在你输入的文本的前面还是后面。

假如我要对3个文件进行批量命名,它们的文件全名分别是:moon、students.php、water.txt。我采用“格式和索引”方式,且输入的文本为newfile、开始数字为3、数字在名称之后。那么重命名后这些文件的新文件全名就分别是:newfile3、newfile4.php和newfile5.txt。再次强调文件原本的扩展名不受影响。

5.2 名称和计数

“名称和计数”格式与“名称和索引”格式非常相似,只是当某个文件的数字编号小于10000时,那么该编号前面会用0进行填充以致整个编号为5位数。比如,假设某个文件的编号应该为3,那么新文件名称中的编号部分就会显示为00003。通过下图我们可以发现,“名称和计数”格式与“名称和索引”格式所要求输入的内容也是完全一致的。

Mac OS批量命名文件

我们还是以moon、students.php、water.txt这3个文件为例。这次我们采用“格式和计数”方式,且输入的文本为newfile、开始数字为3、数字在名称之后,输入内容和上例中一样。那么重命名后这些文件的新文件全名就分别是:newfile00003、newfile00004.php和newfile00005.txt。

5.3 名称和日期

“名称和日期”格式就是用一个新的文本,再附加上日期作为新的文件名称。下面的图片显示了当重命名方式为“格式和日期”时的重命名对话框的样式:

Mac OS批量命名文件

首先要注意的就是开始数字为输入框是不可输入的,而且也没有其它的方式可以让我们输入日期信息,新文件名称中的日期内容就是实际重命名那个文件时的日期。但我们还是可以输入想使用的新文本,以及选择日期是在该文本的前面还是后面。

我们同样以moon、students.php、water.txt这3个文件为例。这次我们采用“格式和日期”方式,且输入的文本为newfile、日期在文本之后。那么重命名的效果就如下图所示,可以看到日期信息精确到了秒且时、分、秒之间以英文句点作为分隔。

5.4 保留原来的文件名称

当我们选择以上3种格式方式进行批量命名文件时,如果在自定格式输入框中不输入任何内容,那么重命名后文件原本的文件名称不变,而索引、计数或日期则显示在原文件名称的前面或后面,且它们之间用空格分隔。

我们再次以moon、students.php、water.txt这3个文件为例。这次我们采用“格式和索引”方式,且不输入任何文本、开始数字为3、数字在名称之后。那么在重命名之后,这些文件的新文件全名就分别是:moon 3、students 4.php和water 5.txt。

6. 重名文件的处理

当我们以“替换文本”与“格式和日期”方式批量命名文件时,可能会有多个文件的新文件全名是相同的,这时就要进行重名文件的处理了。

在批量命名文件后,如果多个文件的新文件全名相同,那么其中第一个文件就使用该新文件全名,而其它重名文件则在该新文件全名的文件名称后依次添加从2开始的编号,且编号和文件名称之间用空格分隔。

我对8个扩展名均为.txt的文件进行“格式和日期”方式的批量命名,命名后的结果如下图所示。注意看第2到第8个文件的文件名称最后(即扩展名之前)的编号,它们就是用来区别重名文件的。

(完)

以上是关于Mac OS批量命名文件的主要内容,如果未能解决你的问题,请参考以下文章

苹果Mac强大的批量重命名工具:A Better Finder Rename

python实现对文件批量重命名(用到正则表达式和os.path模块)

Python批量按顺序命名文件夹

python怎样批量修改文件名

批量查找和替换Mac OS中的文件

正则表达式批量重命名 OS X 终端中的文件