根据名称批量重命名文件

时间:2014-12-10 15:02:09

标签: batch-file

有没有办法根据他名字中的数字批量重命名文件,是否在开头没有为零?

注意:名称可以变化,只是文件扩展名没有变化。

Example:

_videoteste_01.mp4 = 01.mp4
videoteste02.mp4 = 02.mp4
03videoteste.mp4 = 03.mp4
vidteste4.mp4 = 04.mp4

1 个答案:

答案 0 :(得分:1)

我的JREN.BAT hybrid JScript/batch utility可以轻松完成您的要求。 JREN.BAT通过执行正则表达式搜索来重命名文件并替换名称。它是纯脚本,可​​以在XP前进的任何Windows机器上本机运行。

但我必须说你提出的命名方案很容易遇到问题。如果您尝试重命名“abc5.mp4”和“05xyz.mp4”怎么办? - 两个文件将获得相同的名称,第二个重命名将失败。如果您有两个名称中没有任何数字的文件,则会出现同样的问题 - 两者都会得到00.mp4。

以下是实施您提议的方案的JREN调用:

jren "^\D*(\d*).*\.mp4$" "($1?lpad($1,'00'):'00')+'.mp4'" /j /i /p "c:\video test"


根据评论进行更新:

无论扩展名如何,您都可以使用以下命令重命名所有文件。它将保留每个文件的扩展名。

jren "^\D*(\d*).*(\.[^.]*)$" "($1?lpad($1,'00'):'00')+$2" /j /i /p "c:\video test"