Войти

Показать полную графическую версию : Переменная !variable! не раскрывается


Enesi
01-06-2015, 22:49
Использую отложенное раскрытие переменной cn, чтобы она изменялись в цикле. Для того, чтобы при копировании файла смотреть, существует ли уже файл с таким именем, и если да, то увеличивать счетчик в названии файла.
Код:

@echo off
setlocal enableextensions enabledelayedexpansion
set destdir=C:\parser-ru-win32
set parsdir=D:\Training

Set cn=1

for /F "tokens=1* delims=|" %%i in (../filelist.txt) do (
:_loop
If Exist "%parsdir%\parsing!cn!.xml" Set /a cn+=1& Goto _loop
Copy "%destdir%\parsing.txt" "%parsdir%\parsing!cn!.xml">Nul
echo !cn!
)
endlocal


В результате переменная cn не раскрывается, на экран выводится "!cn!" и файл копируется под именем "parsing!cn!.xml". Подскажите пожалуйста, в чем проблема? По всем мануалам полазил, не нашел. Уже плачу над этим кодом.

Foreigner
02-06-2015, 00:13
Enesi, А для чего здесь цикл for?

Iska
02-06-2015, 11:15
В результате переменная cn не раскрывается, на экран выводится "!cn!" »
Это что-то странное. У меня раскрывает.

Если выполнить такой код:
@echo off
setlocal enableextensions enabledelayedexpansion

set /a x = 1

(
set /a x += 1
echo %x%
echo !x!
)

endlocal
exit /b 0

— что покажет?




© OSzone.net 2001-2012