如何匹配不同文件夹中的文件编号,例如将 NAME9.txt 重命名为 NAME00009.txt

How to match numbering of files across different folders e.g. rename NAME9.txt to NAME00009.txt

我有一大堆文件,它们来自不同的过程,所以出于某种原因第一个文件夹中的文件是这样编号的

A9.txt A1.txt 而另一个有 A00009.txt A.00001.txt 我的文件不超过 99837 个,所以 只有 四个 "extra" 0 在一侧。

我需要重命名一个文件夹中的所有文件,以便名称匹配。有没有办法循环执行此操作?感谢您的帮助。

你应该看看 perl-rename (Sometimes called rename) Not to be confused with rename from util-linux

perl-rename 's/\d+/sprintf("%05d", $&)/e' *.txt

以上脚本会将目录中的所有 .txt 文件重命名为以下内​​容:

A1.txt       -> A00001.txt
A10.txt      -> A00010.txt
Hello225.txt -> Hello00225.txt

Test it Online