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

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

Ветеран


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

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


FlatX007, не разобрались, условие:
Код: Выделить весь код
IF ERRORLEVEL 0 Exit
будет истинным всегда, поскольку в данном виде инструкции IF сравнение идёт не на равенство, а на «больше или равно»:
Цитата if /?:
IF [NOT] ERRORLEVEL число команда

ERRORLEVEL число: Условие является истинным, если код возврата последней выполненной программы не меньше указанного числа.
Тут надо либо в обратном порядке, наподобие:
Код: Выделить весь код
IF ERRORLEVEL 2 Goto :label1
IF ERRORLEVEL 1 Goto …
rem ERRORLEVEL 0
…
GOTO :EOF

:label1
…
GOTO :EOF
либо, как Вы и пробовали, использовать переменную окружения %errorlevel% (при включённой расширенной обработке команд [по умолчанию — включена]), только в несколько ином виде, наподобие:
Код: Выделить весь код
WinRAR a -r Pictures.rar Bitmaps
IF %errorlevel% equ 0 (
    Exit
) ELSE (
    IF %errorlevel% equ 1 call :ProcessError1
)
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:51, 06-08-2009 | #6