重命名文件并更改windows批处理的内容

重命名文件并更改windows批处理的内容,windows,batch-file,rename,Windows,Batch File,Rename,我的问题似乎很简单,但到目前为止,我还没有在网上找到有效的方法 我有一份文件清单,比如 file0011.xml doc0011.xml toto0011.xml 在他们体内含有一些0011的出现。 在此期间,我想: -用我想要的任何东西替换0011,比如0012 -将所有文件中出现的0011替换为0012 因此,命令行看起来像mayBatch.bat 0011 0012 我找到了一些东西来替换多个文件中的一些文本部分,但只用于显示。 所以我想我需要 -解析文件夹中包含的文件以获取其名称 -在

我的问题似乎很简单,但到目前为止,我还没有在网上找到有效的方法

我有一份文件清单,比如

file0011.xml
doc0011.xml
toto0011.xml
在他们体内含有一些0011的出现。 在此期间,我想: -用我想要的任何东西替换0011,比如0012 -将所有文件中出现的0011替换为0012

因此,命令行看起来像mayBatch.bat 0011 0012

我找到了一些东西来替换多个文件中的一些文本部分,但只用于显示。 所以我想我需要 -解析文件夹中包含的文件以获取其名称 -在函数名中,是否将第一个参数的出现替换为第二个参数的出现? -将第一个参数的文件中包含的事件替换为第二个参数

我的问题:我不知道如何在windows批处理中完成它。。。你能帮我吗


谢谢

在一些示例文件上测试这一点

myBatch.bat 0011 0012

@回音 SETLOCAL 设置行=%2 如果未定义行回显语法%0 from to&GOTO:eof 设置sourcedir=c:\sourcedir 对于'dir/b/a-d%sourcedir%\*%1.xml'中的/f标记=1*delims=%%a 呼叫:处理%%1%%2%%a 后藤:EOF :进程 设置文件=%~3 调用集文件=%%文件:%1=%2%% 对于/f usebackqdelims=%%x,在%sourcedir%\%~3 DO中 设置行=%%x SETLOCAL ENABLEDELAYEDEXPANSION 设置行=!行:%%~1=%%~2! 回响线 端部 >%sourcedir%\%文件% 后藤:eof 您需要将源目录设置到明显的位置。如果目标文件名存在,这会不规则地覆盖该文件名,因此将使用新名称和更改的内容创建一个新文件。原始文件被保留,bt添加

del "%sourcedir%\%~3"
就在:process例程中的goto:eof之前,应该完成该操作


经过测试和验证后,所有文件自然都在一个文件夹中吗?是的,它们在批处理文件中的一个文件夹中
del "%sourcedir%\%~3"