Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Потому что раскрытие переменных происходит перед разбором строки, и в итоге выходит конструкция вида:
Код: Выделить весь код
if """==""" (…) else (…)
на которой интерпретатор и спотыкается. В обратном же случае, сначала делается разбор «if», затем уже происходит отложенное раскрытие переменных окружения.
читать дальше »
По тому же самому принципу не удаётся напрямую использовать отложенное раскрытие переменных окружения, например, в предикатах «skip» и «tokens» команды «for /f» — к моменту разбора они ещё не будут раскрыты:
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set /a iCount = 3

for /f "skip=!iCount!" %%i in (0001.txt) do echo %%i

endlocal
exit /b 0
Это сообщение посчитали полезным следующие участники:

Отправлено: 00:57, 12-08-2013 | #5