批量重命名工具推荐-PowerRename

2023-09-16阅读(606)评论(0)牵着狗狗看MM

苏州实时公交查询

框架升级,需要将项目中所有vue文件转换成tsx文件,网上找了下,发现微软就有这个工具,用起来很方便快捷:PowerToys中的PowerRename,具体就不多介绍了。搬运下官方介绍

 

PowerRename 是一种批量重命名工具,它使你能够:

  • 修改大量文件的文件名,而不为所有文件提供相同名称。
  • 对文件名的目标部分执行搜索和替换。
  • 对多个文件执行正则表达式重命名。
  • 在完成批量重命名之前,在预览窗口中检查预期重命名结果。
  • 完成后撤消重命名操作。

演示

在此演示中,文件名为“foo”的所有实例都会替换为“foobar”。 由于所有文件的名称都是唯一的,因此需要很长时间才能逐个手动完成此操作。 PowerRename 可实现单次批量重命名。 请注意,资源管理器的“撤消重命名”(Ctrl+Z)命令可以撤消上次更改。

PowerRename Demo.

PowerRename 窗口

在选择文件 WindowsFile Explorer后,右键单击并选择 PowerRename (仅在 PowerToys 中启用时才会显示)。 将显示所选项以及搜索和替换值、选项列表和显示搜索结果的预览窗格和输入的值。

PowerRename Menu screenshot.

搜索

输入文本或正则表达式以在所选内容中查找包含与输入匹配的条件的文件。 将在“预览”窗格中看到匹配的项目

替换为

输入文本以替换先前输入的搜索值。 可以在“预览”窗格中查看原始文件名和重命名的文件名

Use regular expressions

如果选择,搜索值将解释为 正则表达式 (regex)。 替换值还可以包含 regex 变量(请参阅以下示例)。 如果清除,搜索值将被解释为纯文本,以替换为“替换”字段中的文本。

有关扩展regex功能的设置菜单中的“使用Boost库”选项的详细信息,请参阅正则表达式部分

匹配所有出现的对象

如果选择,“搜索”字段中的所有文本匹配项都将替换为“替换”文本。 否则,只会替换文件名中搜索文本的第一个实例

例如,假设文件名为:powertoys-powerrename.txt

  • 搜索:power
  • 重命名为:super

重命名的文件的值会生成:

  • 匹配清除的所有匹配项: supertoys-powerrename.txt
  • 匹配所选的所有匹配项: supertoys-superrename.txt

区分大小写

如果选中,“ 搜索” 字段中指定的文本将仅匹配项目中的文本(如果文本是相同的大小写)。 默认情况下,大小写匹配将不区分大小写。

应用对象:仅文件名

操作仅修改文件名。 例如: txt.txt → NewName.txt

应用对象:仅扩展名

操作仅修改文件扩展名。 例如: txt.txt → txt.NewExtension

包含文件

清除会导致操作中不包含文件。

包含文件夹

清除会导致操作中不包含文件夹。

Include subfolders

清除会导致文件夹中的文件未包含在操作中。 默认情况下会包括所有子文件夹项。

文本格式

在四个选项之间进行选择,将项转换为全部小写、全部大写、标题大小写(句子的第一个字符是大写的),或将每个单词大写。

枚举项目

如果选择,则可以将以下模式用作“替换为文本”的一部分:

变量模式 说明
${} 一个简单的计数器,将从第一个重命名的文件的零开始。
${increment=X} 具有自定义增量值的计数器。
${padding=X} 一个计数器,其中包含该数字的指定前导零数。
${start=X} 具有自定义初始值的计数器。

还可以在同一替换字符串中使用多个计数器并组合自定义项。

例如,给定搜索文本a和一组文件:

  • a.jpg
  • ab.jpg
  • abc.jpg

替换为文本Image_${padding=4;increment=2;start=10}_将生成以下内容:

  • Image_0010_.jpg
  • Image_0012_b.jpg
  • Image_0014_bc.jpg

使用文件创建日期和时间进行替换

可以根据下表输入变量模式,在“替换为”文本中使用文件的创建日期和时间属性。 在“替换为”字段中选择工具提示可查看和选择支持的模式。

变量模式 说明
$YYYY 由完整的四位或五位数字表示的年份,具体取决于所使用的日历。
$YY 仅由最后两位数字表示的年份。 会为一位数年份添加前导零。
$Y 仅由最后一位数字表示的年份。
$MMMM 月份的名称。
$MMM 月份的缩写名称。
$MM 表示为数字的月份,对于一位数月份使用前导零。
$M 表示为数字的月份,对于一位数月份不使用前导零。
$DDDD 星期几的名称。
$DDD 星期几的缩写名称。
$DD 表示为数字的月份日期,对于一位数日期使用前导零。
$D 表示为数字的月份日期,对于一位数日期不使用前导零。
$hh 小时,对于一位数小时使用前导零。
$h 小时,对于一位数小时不使用前导零。
$mm 分钟,对于一位数分钟使用前导零。
$m 分钟,对于一位数分钟不使用前导零。
$ss 秒,对于一位数秒使用前导零。
$s 秒,对于一位数秒不使用前导零。
$fff 由完整的三位数字表示的毫秒。
$ff 仅由前两位数字表示的毫秒。
$f 仅由第一位数字表示的毫秒。

例如,假设文件名为:

  • powertoys.png创建于 2020/11/02(11 月 2 日)
  • powertoys-menu.png创建于 2020/11/03(11 月 3 日)

输入条件以重命名项:

  • 搜索:powertoys
  • 重命名为:$MMM-$DD-$YY-powertoys

重命名的文件的值会生成:

  • Nov-02-20-powertoys.png
  • Nov-03-20-powertoys-menu.png

正则表达式

简单搜索和替换足够用于大多数用例。 但在某些情况下,复杂的重命名任务可能需要更多控制。 正则表达式可提供帮助。

正则表达式为文本定义搜索模式。 它们可用于搜索、编辑和操作文本。 正则表达式定义的模式可以对给定字符串匹配一次、多次或根本不匹配。 PowerRename 使用在现代编程语言中通用的 ECMAScript 语法。

若要启用正则表达式,请选择“ 使用正则表达式”。

注意: 你可能希望在使用正则表达式时选择“ 匹配所有匹配项 ”。

若要使用 Boost 库而不是标准库 ,请在 PowerToys 设置中选择“使用 Boost 库 ”选项。 它能实现标准库不支持的扩展功能,例如 lookbehind

正则表达式示例

简单的匹配示例。

搜索 说明
^ 匹配文件名的开头(零大小)
$ 匹配文件名的末尾(零大小)
.* 匹配名称中的所有文本
^foo 匹配以“foo”开头的文本
bar$ 匹配以“foo”结尾的文本
^foo.*bar$ 匹配以“foo”开头并以“bar”结尾的文本
.+?(?=bar) 匹配所有内容直到出现“bar”
foo[\s\S]*bar 匹配“foo”与“bar”之间(包括“foo”和“bar”)的所有内容

匹配和变量示例。 捕获组在括号 ()中定义。 若要进行引用,请使用 $ 并且在其后接一个数字:$1 引用第一组,$2 引用第二组,以此类推。

使用变量时,必须选中“匹配所有匹配项”。

搜索 替换为 说明
(.*).png foo_$1.png 在 PNG 文件的现有文件名前面添加“foo_”
(.*).png $1_foo.png 在 PNG 文件的现有文件名后面追加“_foo”
(.*) $1.txt 向现有文件追加“.txt”扩展名
(^\w+\.$)\|(^\w+$) $2.txt 仅在现有文件名没有扩展名时才向其追加“.txt”扩展名
(\d\d)-(\d\d)-(\d\d\d\d) 或 (\d{2})-(\d{2})-(\d{4}) $3-$2-$1 移动文件名中的部件:“29-03-2020”变为“2020-03-29”
^(.{n})(.*) 或 (.*)(.{n})$ $1foo$2 分别从距离开头或结尾 n 个字符处插入“foo”
^.{n} 或 .{n}$ 分别从开头或结尾截断 n 个字符

用于学习正则表达式的其他资源

可联机获得很好的示例/速查表来为你提供帮助:

正则表达式教程

ECMAScript 正则表达式教程

文件列表筛选器

可以在 PowerRename 中使用筛选器来缩小重命名结果的范围。 使用“预览”窗格检查预期结果。

  • 最初,预览窗格中的第一列在以下两者之间切换:
    • 已选中:已选择要重命名的文件
    • 已清除:未选择要重命名的文件(即使它符合在搜索条件中输入的值)
  • 重命名后,可以切换预览窗格中的第二列
    • 默认预览会显示所有选择的文件,其中只有与搜索条件匹配的文件才会显示更新后的重命名值。
    • 选择“已重命名”标题会将预览切换为仅显示将重命名的文件。 原始选择内容中的其他所选文件将不可见。

PowerToys PowerRename Filter demo.

赞(1)
转载请注明来源:Web前端(W3Cways.com) - Web前端学习之路 » 批量重命名工具推荐-PowerRename
分享到: 更多 (0)