Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Переменная !variable! не раскрывается (http://forum.oszone.net/showthread.php?t=300604)

Enesi 01-06-2015 22:49 2513922

Переменная !variable! не раскрывается
 
Использую отложенное раскрытие переменной 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 2513943

Enesi, А для чего здесь цикл for?

Iska 02-06-2015 11:15 2514046

Цитата:

Цитата Enesi
В результате переменная cn не раскрывается, на экран выводится "!cn!" »

Это что-то странное. У меня раскрывает.

Если выполнить такой код:
Код:

@echo off
setlocal enableextensions enabledelayedexpansion

set /a x = 1

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

endlocal
exit /b 0

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


Время: 21:33.

Время: 21:33.
© OSzone.net 2001-