在windows中重命名批处理文件

在windows中重命名批处理文件,windows,file,batch-file,batch-processing,batch-rename,Windows,File,Batch File,Batch Processing,Batch Rename,我在谷歌上搜索了不同的方法来重命名批处理文件,但我找不到一种方法来按照我希望的顺序进行重命名。 如果有人能帮助我,我将不胜感激。 我有以下名为的文件: NAME0000.txt NAME0001.txt NAME0002.txt ... NAME0099.txt 对于所有这些文件,我需要将左侧第二个数字中的0替换为1 例: 非常感谢您未经测试 setlocal enableDelayedExpansion for /l %%a in (0;1;200) do ( if %%a lss 10

我在谷歌上搜索了不同的方法来重命名批处理文件,但我找不到一种方法来按照我希望的顺序进行重命名。 如果有人能帮助我,我将不胜感激。 我有以下名为的文件:

NAME0000.txt
NAME0001.txt
NAME0002.txt
...
NAME0099.txt
对于所有这些文件,我需要将左侧第二个数字中的0替换为1 例:

非常感谢您未经测试

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
  ) 
)

一个更简单的解决方案是只使用字符串替换:

@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
命令的性质,您不能只在
FOR
命令中向fileselector
NAME00*.txt
添加一些路径。如果脚本需要在任意目录下工作,请将此添加到您的问题中。

我在谷歌上搜索了一下,发现了这个第三方工具,它可以根据您的需要做一些很棒的事情-

批量重命名工具是一种轻量级但功能强大的文件重命名工具

只要有批量重命名工具,就不需要满足于过于简单的文件重命名工具。它是轻量级的,可疯狂定制的,可移植的,并且确保在任何重命名任务中都能很快完成

批量重命名工具是一个很好的可移植应用程序(如果您渴望上下文菜单集成,可以作为安装版本提供),可以快速完成文件重命名任务。主面板上充满了你可以改变的开关和变量;这绝对不是一个一键式的解决方案

这就是说,一旦你习惯了使用这个界面,它就会变得轻快和非常灵活。开始时,有一个技巧可以帮你省去大量的麻烦:确保在“文件预览”窗口(位于右上角)中突出显示你想要更改的文件,否则你将看不到预览,也不知道你在“控制面板”中所做的更改是否产生了你想要的文件名

点击下面的链接阅读更多内容并获取副本;批量重命名工具是免费的,仅限Windows


谢谢。显然我不是很聪明。在哪里可以设置找到这些文件的路径?我将.bat文件放在文件所在的文件夹中,但没有更改。@Iuli add
pushd c:\somepath
开头
@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!
)