如何解决重命名方法? “系统找不到指定的文件”

时间:2019-01-21 16:38:33

标签: batch-rename

我尝试将所有文​​件夹中的文件从someFile_v4重命名为someFile_v5。不幸的是,我收到错误消息,系统找不到指定的文件。

@echo off
for /R %%f in (*_v4.xml) do call :ProcessFile 
goto :Finished
:ProcessFile
rename "*_v4.xml" "*_v5.xml"
goto :eof
:Finished

1 个答案:

答案 0 :(得分:0)

这里的问题是您使用的是for循环,实际上对其中的变量没有任何作用。

尝试以下操作:

我还建议您考虑更改:

  

for /rfor /f,请在循环中使用dir /s /b /a-d

@echo off & setlocal EnableDelayedExpansion

for /f "tokens=* delims= " %%i in ('dir /s /b /a-d "*_v4.xml"') do (

    set "_ren=%%~fi"
    for /f "delims=" %%I in ('dir /w /b "%%~i"') do set "_to=%%~nxI"
    ren "!_ren!" "!_to:_v4=_v5!"
    set _ren=0<nul & set _to=0<nul

)

抱歉,我无法解释我的代码,因为我不太懂英语。