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

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

Аватара для hasherfrog

Старый параноик


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

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


Перед исполнением цикла for происходит раскрытие %переменных% в их значения. То есть, если %errorlevel% был равен 0, то весь цикл развернётся в последовательность команд, где будет намертво прописано if 0==1 (goto nxt). Простейший способ обойти это -- внутри for вызывать другой пакетный файл (батник), где происходят проверки нужных переменных.

Другой, более "продвинутый" вариант:
Код: Выделить весь код
goto start

:hey
echo %errorlevel% 
goto :EOF

:start
for %%q in (c d g y) do (
cd %%q%:
call :hey
)

Последний раз редактировалось hasherfrog, 11-01-2008 в 14:40. Причина: Добавил пример с :EOF


Отправлено: 14:33, 11-01-2008 | #2