我用Google搜索了不同的方法来重命名批处理文件,但我找不到按照我希望的顺序执行此操作的方法。 如果有人能帮助我,我将不胜感激。 我有以下文件命名:
NAME0000.txt
NAME0001.txt
NAME0002.txt
...
NAME0099.txt
对于所有这些文件,我需要将左边第二个数字中的0替换为1 例如:
NAME0100.txt
NAME0101.txt
...
NAME0199.txt
非常感谢
答案 0 :(得分:0)
未经测试
setlocal enableDelayedExpansion
for /l %%a in (0;1;200) do (
if %%a lss 10 set numb=000%%a
if %%a gtr 10 if %%a lss 100 set numb=00%a
if %%a gtr 100 if %%a lss 1000 set numb=0%a
set file_=NAME!numb!.txt
if exist !file! (
set /a numb2=numb+100
ren NAME!numb!.txt NAME!numb2!.txt
)
)
答案 1 :(得分:0)
更简单的解决方案是使用字符串替换:
@ECHO OFF
SetLocal EnableDelayedExpansion
FOR %%A IN ( NAME00*.txt ) DO (
SET OLD_FILENAME=%%A
SET NEW_FILENAME=!OLD_FILENAME:NAME00=NAME01!
REN !OLD_FILENAME! !NEW_FILENAME!
)
您需要在包含要重命名的文件的文件夹中运行此脚本。由于REN
突击队的性质,您无法在NAME00*.txt
命令中向文件选择器FOR
添加一些路径。如果要求脚本在任意目录中工作,请将其添加到您的问题中。
答案 2 :(得分:0)
我正在做一些谷歌并发现这个第三方工具根据您的需要做了很棒的事情 -
批量重命名工具是一个轻量但功能强大的文件重命名工具
只要批量重命名工具存在,就没有必要解决过于简单的文件重命名工具。它是轻量级的,可疯狂定制的,可移植的,并且肯定可以简化任何重命名任务。
批量重命名工具是一个很棒的便携式应用程序(如果你渴望上下文菜单集成,可以作为已安装的版本提供),它可以通过文件重命名任务进行。主面板令人生畏地包含了可以改变的切换和变量;无论如何,这不是一键式解决方案。
也就是说,一旦你习惯使用界面,它就能快速闪亮而且非常灵活。一个提示将在您开始时为您节省大量的挫折:确保在文件预览窗口(位于右上角)突出显示您要更改的文件,否则您将看不到预览并赢得不知道你在控制面板中所做的更改是否正在产生你想要的文件名。
点击下面的链接阅读更多内容并抓取副本;批量重命名工具是免费的,仅适用于Windows。