Double Commander

2.6. 批量重命名工具

内容

1. 介绍
1.1. 建议
1.2. 概述
2. 界面
3. 生成新文件名
4. 占位符
4.1. 基本占位符
4.2. 其他占位符
4.3. 使用插件的占位符
5. 文件列表
5.1. 现有列表
5.2. 基于当前文件名动态创建的列表
5.3. 基于当前新文件名列动态创建的列表
6. 修饰符
6.1. 大小写
6.2. 查找和替换
6.2.1. 查找和替换单个序列
6.2.2. 多个序列替换
6.2.3. 多对查找和替换
6.2.4. 使用正则表达式
7. 实际重命名操作
8. 日志
9. 预设
10. 附加配置
10.1. 在顶部显示菜单栏
10.2. 替换无效文件名字符为
10.3. 启动时的预设
10.4. 退出时修改的预设
10.5. 重命名日志

1. 介绍

批量重命名工具允许我们使用不同方法一次重命名多个选定的文件。

1.1. 建议

如果我们不熟悉批量重命名工具,在实际探索之前,明智的做法是先在临时目录中用实际文件的副本来做一些测试。

然后,当我们掌握了概念后,我们可以使用批量重命名工具处理实际文件。

1.2. 概述

假设我们下载了一批播客MP3文件。

我们可能想要重命名它们,为每个文件起一个有意义的名称。

这就是批量重命名工具有用的地方,它将帮助我们一次性重命名这些多个文件。


我们将从面板中选择要重命名的元素。

然后我们通过以下方式调用批量重命名工具

2. 界面

这将打开如下所示的批量重命名工具对话框窗口:

界面

在顶部我们看到一个表格,其中包含我们从源面板选择的文件,每行一个文件,即将被重命名。我们可以使用拖放或Shift+箭头重新排序文件列表。要从列表中删除文件,我们可以使用Del键(删除所有文件后,Double Commander将关闭批量重命名工具)。

表格有三列:

批量重命名工具文件名预览表
列名描述
旧文件名
该行所代表的文件的当前名称
新文件名
如果我们确认重命名,将是的新文件名
文件路径
文件的当前位置

我们的想法是进行一些操作,直到新文件名列显示我们想要的实际新文件名。

然后我们将按下重命名按钮来实际重命名文件。

3. 生成新文件名

我们有工具可以生成我们想要的新文件名。

可能的工具
类别描述
占位符
使用文件名的当前部分、其属性或其内容来生成新名称的部分
文件列表
一个文本文件,每行列一个名称,按相同顺序依次应用于每个文件
修饰符
修改由上述元素生成的最终新名称的字符

4. 占位符

让我们看看可以使用的占位符。

注意:占位符区分大小写!

4.1. 基本占位符

我们在标记为掩码的左侧框中定义它们。

如我们所见,我们定义了将用于形成新文件名的文件名扩展名

这些占位符定义在方括号中。

通常,每个占位符将返回一个字符串,该字符串将成为我们要创建的文件名或扩展名的一部分。

我们可以在一行中定义多个,新文件名部分将是所有这些的连接结果。


基本占位符如下:

对于这两个占位符,我们可以包含一些占位符来限定文件名和/或扩展名中将使用的字符范围。

让我们看一个表格,显示基于此示例文件的结果:

示例文件

可能的占位符
占位符描述示例
[Nx]
文件名中位置x的字符[N9] = T
[N-x]
同样,但从文件名末尾开始计数[N-5] = P
[Nx:y]
文件名中从位置x到y的字符范围[N5:6] = 01
[N-x:-y]
同样,但从文件名末尾计数[N-6:-7] = 06
[Nx:-y]
同样,但首先从开始计数,最后从末尾计数[N10:-6] = 060306
[N-x:y]
同样,但首先从末尾计数,最后从开始计数[N-16:6] = 01
[Nx,y]
字符范围将从x开始,长度为y个字符[N10,6] = 060306
[N-x,y]
同样,但首先从末尾计数,选取y个字符向左[N-8,4] = 0603
[Ex]
扩展名中位置x的字符[E1] = m
[E-x]
同样,但从扩展名末尾开始计数[E-1] = 3
[Ex:y]
扩展名中从位置x到y的字符范围[E2:3] = p3
[E-x:-y]
同样,但从扩展名末尾计数[E-3:-2] = mp
[Ex:-y]
同样,但首先从开始计数,最后从末尾计数[E1:-2] = mp
[E-x:y]
同样,但首先从末尾计数,最后从开始计数[E-2:3] = p3
[Ex,y]
字符范围将从x开始,长度为y个字符[E1,3] = mp3
[E-x,y]
同样,但首先从末尾计数,选取y个字符向左[E-1,2] = p3

为了确保我们理解了,这里有一个示例,我们将文件名的掩码设置为[N1,4]-[N5,2]-[N7,2]

我们看到新文件名列已根据上述描述的替换进行了更新。

示例重命名

4.2. 其他占位符

这里还有一些其他占位符,仍然使用相同的示例文件:

示例文件

其他占位符
占位符描述示例
[A]
表示完整文件名,包括整个路径、目录分隔符、扩展名、冒号和句点[A] =
完整文件名
[A...]
可以像之前一样指定范围 [Ax]、[Ax:y]、[A-x:-y] 等...[A-9:-5] = P0000
[Y]
文件日期年份的最后2位数字[Y] = 19
[YYYY]
4位数表示的年份[YYYY] = 2019
[M]
文件日期的月份数字[M] = 1
[MM]
月份数字,如果需要,用零填充到2位数[MM] = 01
[MMM]
月份缩写,如"jan"、"feb"、"mar"等[MMM] = Jan
[MMMM]
完整月份名称,如"january"、"february"等[MMMM] = January
[D]
文件日期的天数[D] = 2
[DD]
天数,如果需要,用零填充到2位数[DD] = 02
[DDD]
星期缩写,如"mon"、"tue"、"wed"等[DDD] = Wed
[DDDD]
完整星期名称,如"monday"、"tuesday"等[DDDD] = Wednesday
[h]
文件时间的小时数[h] = 9
[hh]
小时数,如果需要,用零填充到2位数[hh] = 09
[n]
文件时间的分钟数[n] = 2
[nn]
分钟数,如果需要,用零填充到2位数[nn] = 02
[s]
文件时间的秒数[s] = 7
[ss]
秒数,如果需要,用零填充到2位数[ss] = 07
[G]
动态生成的GUID形式:
{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
[G] =
16字节GUID
[Px]
直接命名完整路径中第x级的名称,首先靠近根目录计数[P2] = TechPodcast
[P-x]
直接命名完整路径中第x级的名称,首先靠近文件名计数[P-2] = Download
[C]
为每次使用"计数器"框中的参数进行迭代的自动递增计数器(也支持负数)[C] =数字
为每个文件递增
[V:hint]
用户定义的变量"hint",在实际重命名过程中会提示用户输入值[V:Guest] = 提示
输入Guest的值
[[]
插入左方括号[[] = [
[]]
插入右方括号[]] = ]

这里是另一个示例,我们使用了上述一些占位符,将掩码设置为

[C] - [YYYY]-[MM]-[DD] @ [hh]-[nn]-[ss]

示例重命名

随着时间的推移,如果我们经常使用,我们将能够凭记忆输入我们需要的内容!

在那之前,幸运的是,我们可以按下每个掩码下方的按钮,然后访问弹出菜单,这将帮助我们让应用程序根据我们需要的内容为我们输入。

助手使用

4.3. 使用插件的占位符

我们还可以使用一个占位符来调用内容插件。

它将从文件中提取选定的字段,并将其用作我们想要的新名称的一部分。

以下示例使用多媒体插件提取MP3播客文件的长度时间,将其放在名称中的括号内:

使用插件

5. 文件列表

我们还可以使用包含文件名列表的文本文件来重命名我们的文件。

假定该文本文件的每一行都包含要给予匹配文件的新文件名,包括扩展名,按相同的位置顺序。


此列表可以

还可以从剪贴板加载文件名列表,要使用此功能,您需要打开热键设置,切换到"批量重命名工具"类别,并为cm_LoadNamesFromClipboard命令设置热键。

5.1. 现有列表

如果我们已经有了这样的文件,我们将按下编辑器按钮,然后从文件加载名称

现有列表

然后我们将被提示指定我们的文件列表。

如果文件包含的行数与要重命名的元素数量相同,我们将在新文件名列中看到每个文件的新文件名。

实际的重命名过程只有在我们按下重命名按钮时才会发生。

5.2. 基于当前文件名动态创建的列表

与上述描述的现有列表类似,Double Commander可以动态为我们创建此文件列表。

按下编辑器按钮,然后编辑名称...将使工具基于原始文件名创建一个临时文本文件,其使用方式与前一点相同。

5.3. 基于当前新文件名列动态创建的列表

与上述相同,只是列表中的文件名来自当前的新文件名列。

当占位符方法给出的结果"几乎"是我们想要的文件名时,这种方法可能特别有帮助,因此我们只需做一些调整来纠正需要满足我们需求的文件名。

以下示例显示了使用此方法时的事件流程。

编辑新名称列

6. 修饰符

仍然遵循并应用于上述提到的占位符和文件列表之后,我们可以应用修饰符来改变新文件名。

这些修饰符包括:

6.1. 大小写

可能的选项如下,将影响新文件名字符的大小写:

即使此修饰符在掩码框内,如果文件名来自列表,它也会被应用。

6.2. 查找和替换

查找字段中的字符串将被替换字段中的字符串替换。还提供了一些附加功能,请参见下文。搜索不区分大小写!

附加选项:

这两个参数也会影响正则表达式的行为。

6.2.1. 查找和替换单个序列

我们可以在字符串中查找单个字符序列并将其替换为另一个序列。

简单查找和替换

6.2.2. 多个序列替换

但我们也可以用单个序列替换不同的序列,通过将序列放在管道符号之间,如下例所示,其中2020将替换任何出现的2017、2018或2019:

多个替换

6.2.3. 多对查找和替换

我们还可以通过将它们放在管道符号之间来定义多对序列。

每个要搜索的序列将在相同位置定义其替换。

多对查找和替换

6.2.4. 使用正则表达式

我们还可以使用正则表达式进行搜索部分的字符串以及其替换(使用替换启用子表达式替换字段中)。

使用正则表达式

7. 实际重命名操作

当我们使用上述方法定义了所有想要的新文件名后,我们就可以启动实际的重命名操作了。

实际重命名操作

如果发现重复名称,Double Commander将提供中止操作或使用自动重命名添加数字:"name (1).ext"、"name (2).ext"等。请记住,在第二种情况下,自动添加的数字不会显示在"新文件名"列中。

重命名过程结束后,应用程序将重新扫描文件并重新填充上述表格。

旧文件名列通常会显示我们重命名过程的结果。

新文件名列也会被刷新,通过重新应用仍然定义的相同占位符/列表/修饰符。

通常,我们应该更多地关注第一列,因为它代表了我们刚刚重命名的新实际文件名。

8. 日志

应用程序可以创建日志文件,或追加到现有日志文件中,记录启动实际重命名时的所有重命名尝试结果。

如果我们以后搜索原始文件名或不小心重命名的内容,这可能很有用。

9. 预设

我们可能需要重新使用与之前会话中相同的占位符/修饰符来进行相同的批量重命名。

与其反复重新输入我们已经完成的相同配置,我们可以将当前配置保存在预设中,然后在以后重新使用它。

为此,我们点击按钮访问与预设相关的操作,然后选择另存为...

我们给一个有意义的名称,现在我们已经在预设中添加了一种配置。

下次我们需要它进行批量重命名时,我们将点击预设下拉框,选择我们的预设,然后字段将被我们保存的内容填充。


上述提到的菜单为我们提供了与预设相关的各种操作,如加载、保存、重命名、删除、排序等。

预设

10. 附加配置

在配置页面中,有关批量重命名工具的附加设置存在于专用页面中。

附加配置

10.1. 在顶部显示菜单栏

如果我们更喜欢在窗口顶部有一个菜单栏,可以访问所有相关功能并在菜单中查看它们,我们勾选此选项。

10.2. 替换无效文件名字符为

在我们的调整中,可能会出现无效的文件名字符出现在结果文件名中。

为了避免产生错误,Double Commander将用我们在该框中输入的内容替换该无效字符。

如果我们希望简单地去除无效字符,我们将该框留空。

替换无效文件名字符为

10.3. 启动时的预设

此设置确定每次调用批量重命名工具时将加载的默认预设。

启动时的预设

10.4. 退出时修改的预设

如果我们已加载现有预设,至少更改了一个设置,然后尝试在未保存修改的预设的情况下退出批量重命名工具窗口,此选项将确定Double Commander的行为。

退出时修改的预设

10.5. 重命名日志

这些设置有助于确定如何处理重命名日志文件的保存。

传统上,每个重命名日志文件都在每个预设中定义。

但通过这里的选项,我们可以指示Double Commander将这些日志保存到那里定义的单个位置,其中每次重命名操作的结果将被追加到重命名日志文件中。

我们可以定义将日志存储在按天划分的单独目录中。

重命名日志

有效的HTML 4.0过渡 CSS有效!