我一直在使用批量重命名实用程序我遇到了一些问题。我有一些文件名为664722.pdf
、664762.pdf
和664722-1.pdf
,我需要重命名它们。问题是我必须一次重命名其中大约 50 个。
因此,我从顶行转换到底行。
664722.pdf 664762.pdf 664722-1.pdf
664722-标签证明.pdf 664762-标签证明.pdf 664722-1-标签证明.pdf
所以,现在我必须执行([0-9]{6})(-[0-9])?
并将文件命名为\1\2-LabelProof
,然后返回([0-9]{6})(-[0-9])?
并将文件命名为\1-LabelProof
我在 Windows 上的名称。
是否有人能够想出一个可以同时匹配 664722 和 664722-1 的正则表达式,并且我仍然可以调用某些东西来转换带有和不带有子项的作业,使其末尾带有 -LabelProof。
我考虑过匹配 .pdf 之类的东西来用 -LabelProof.pdf 替换它,但不仅仅是这些 PDF。这些只是新的,我必须保留所有其他的。
答案1
使用([0-9]{6}(-[0-9])?)\.pdf
并替换\1-LabelProof.pdf
。这将使得包含带有和不带有破折号和数字的两个文件中\1
之前的所有内容。.pdf
这会匹配连续的六个数字,然后匹配破折号和数字(形式为-3
0 或 1 次)。基本上是六个数字,然后是- number
如果存在的话。
答案2
([0-9,\-]{6,8}).pdf
是我最终使用的。它匹配数字或 - 6 到 8 次,然后匹配扩展名,以防止已重命名的扩展名665485-LabelProof.pdf
再次重命名并添加破折号。不是最好的,但它有效。
这个的缺点是它还会匹配文件名,如--1-45-8.pdf
,如果没有我提到的末尾的 .pdf,它还会替换
664722-1-标签证明.pdf 664722-1-LabelProof-LabelProof.pdf