Batch file 如何使用cmd递归重命名文件

Batch file 如何使用cmd递归重命名文件,batch-file,cmd,rename,Batch File,Cmd,Rename,如何使用CMD递归重命名文件 删除过程如下:DEL/S/Q image.jpg 所以我想改名应该是这样的 REN/S/Q configfile.xml config.xml 但这是行不通的。我在internet上找到的所有示例都是关于重命名文件扩展名的。使用PowerShell很容易做到这一点。如果您确信正确重命名了正确的文件,请从重命名项命令中删除-WhatIf Get-ChildItem -Recurse -File -Filter 'configfile.xml' | ForEac

如何使用CMD递归重命名文件

删除过程如下:
DEL/S/Q image.jpg

所以我想改名应该是这样的

REN/S/Q configfile.xml config.xml


但这是行不通的。我在internet上找到的所有示例都是关于重命名文件扩展名的。

使用PowerShell很容易做到这一点。如果您确信正确重命名了正确的文件,请从
重命名项
命令中删除
-WhatIf

Get-ChildItem -Recurse -File -Filter 'configfile.xml' |
    ForEach-Object { Rename-Item -Path $_.FullName -NewName 'config.xml' -WhatIf }
如果必须从cmd.exe提示符或.bat文件脚本运行:

powershell -NoLogo -NoProfile -Command ^
    "Get-ChildItem -Recurse -File -Filter 'configfile.xml' |" ^
    "ForEach-Object { Rename-Item -Path $_.FullName -NewName 'config.xml' -WhatIf }"

ren
rename
没有
/s
earch参数。但是我们可以简单地使用
for
循环,使用
dir
/s
功能来搜索文件,然后重命名结果:

从cmd:

for /f "delims=" %i in ('dir /b /s "configfile.xml"') do ren "%~i" config.xml
在批处理文件中:

@echo off
for /f "delims=" %%i in ('dir /b /s "configfile.xml"') do ren "%%~i" config.xml
如果您确实需要,还可以合并
findstr

@echo off
for /f "delims=" %%i in ('dir /b /s ^| findstr /i "configfile.xml"') do ren "%%~i" config.xml

打开命令提示窗口,键入
ren/?
,按
[输入]
键,然后阅读显示的信息。您对本网站并不陌生,在提出问题之前,应充分了解应采取的步骤。您应该始终检查每个命令的使用信息,特别是如果它是您唯一的命令,而不是询问其他命令。因此,您的问题应该被删除,因为它对我们的访问者没有未来的用途,他们也应该阅读使用信息。您的问题的其余部分,在此之前已多次得到回答,并可通过网站搜索工具获得。