Цитата:
Сообщение от
Delfins
Что то у меня не правильно работает обработка статуса при стопе:
X++:
if errorlevel 1 goto exit_OK
Пока идёт цикл остановки ("Stopping ..." в АОС утилите).. он у меня возвращает как уже остановленный... Это так и должно быть?
В данном случае в батнике некорректно обрабатывается errorlevel. Особенность командных процессоров еще со времен DOS в этом отношении состоит в том, что if errorlevel <значение> использует фактически не оператор ==, а оператор >=, поэтому если возможных кодов возврата несколько, как в данном случае, то их проверки следует располагать по убыванию значения кода возврата, например, так:
Код:
if errorlevel 4 goto AOS_started
if errorlevel 3 goto AOS_stopPending
if errorlevel 2 goto AOS_startPending
if errorlevel 1 goto AOS_stopped
Одиночная же проверка if errorlevel 1 вообще ничего не говорит о реальном статусе AOS'а, но лишь позволяет определить, что статус AOS'а был успешно получен.