Проблема здесь в том, что вы используете цикл for
, который на самом деле ничего не делает с этой переменной.
Попробуйте следующее:
(
Я также предлагаю вам рассмотреть вопрос об изменении:
for /r
до for /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
)
Я не могу объяснить свой код, извините, потому что я плохо знаю английский.