Как исправить методы переименования? «Системам не удается найти указанный файл» - PullRequest
0 голосов
/ 21 января 2019

Я пытался переименовать файл из 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 голосов
/ 22 января 2019

Проблема здесь в том, что вы используете цикл 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

)

Я не могу объяснить свой код, извините, потому что я плохо знаю английский.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...