Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Googler


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

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


Цитата Iska:
не понятно это »
REM. - простейшая команда, сбрасывающая ERRORLEVEL в 0. Это на случай, если вместо "Echo OK" стоит последовательность произвольных команд, которые могут изменить значение ERRORLEVEL. Чтобы было понято, достаточно сравнить результат кода с REM. и без него:
Код: Выделить весь код
@Set $1=1 && (
  Echo OK
  Set "$2="
REM.) || (
  Echo ERROR
)
Суть в том, что в последовательности команд, разделенной && , || батник пытается последовательно выполнить КАЖДУЮ, в зависимости от текущего ERRORLEVEL (на момент выполнения заданной команды), поэтому нужно либо отслеживать результат каждой команды, либо тупо восстанавливать ERRORLEVEL по выходу из блока.

P.S. команда Set "$2=" вызывает ошибку удаления несуществующей переменной, устанавливая ERRORLEVEL=1
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:33, 12-01-2011 | #4