эхо %errorlevel% в dos4gw

У меня есть пакетный скрипт, который использует DOS4GW.exe, он используется для запуска myprogram.exe, если эта программа дает сбой, мне нужно распечатать уровень ошибки на экране.

dos4gw myprogram.exe 
echo %errorlevel%

вышеприведенный пакетный скрипт дает мне вывод следующим образом:

Echo is on

но не печатает уровень ошибки.

dos4gw myprogram.exe 

если уровень ошибки 3 перейти к области 1

если уровень ошибки 2 перейти к области 2

если уровень ошибки 1 перейти к выходу

идти к выходу


person ZombieCoder8    schedule 15.10.2019    source источник
comment
Вы должны знать, что DOS4GW.EXE — это выполняемая вами команда, а MYPROGRAM.EXE в данном случае — ее аргумент. Я ожидаю, что любой возвращенный уровень ошибки будет связан с выполнением DOS4GW, который будет выполняться первым, чтобы связать с MYPROGRAM.EXE. Можете ли вы обновить свой вопрос, чтобы сообщить нам, что выводится при возникновении ошибки, возможно, помогут примеры вывода из неудачного примера и из рабочего. Можете ли вы также объяснить, почему вам нужно печатать уровень ошибки? и какие уровни ошибок встроены в оба MYPROGRAM.EXE? и DOS4GW.EXE?   -  person Compo    schedule 15.10.2019
comment
yes dos4gw принимает аргумент как myprogram.exe, выдает 3 ошибки errorlevel 1, 2 и 3, этот errorlevel должен отображаться на экране.   -  person ZombieCoder8    schedule 15.10.2019
comment
Так вы говорите мне, что нет уровня ошибки 0? Для чего возвращаются эти уровни ошибок? Возвращаются ли они конкретно из DOS4GW или MYPROGRAM Возвращается ли что-нибудь на консоль при возникновении ошибки? В настоящее время, если вам не посчастливилось найти кого-то, кто все еще использует обе эти программы вместе, ваш вопрос слишком широк, (если вы не можете предоставить нам достаточно информации, чтобы воспроизвести и/или полностью понять вашу проблему) .   -  person Compo    schedule 15.10.2019
comment
myprogram.exe возвращает эти коды, dos4gw myprogram.exe if errorlevel 3 goto area1 if errorlevel 2 goto area2 if errorlevel 1 goto exit goto exit   -  person ZombieCoder8    schedule 15.10.2019
comment
Имейте в виду, что между errorlevel и %errorlevel% есть разница.   -  person Gerhard    schedule 16.10.2019
comment
Возможный дубликат Почему эти переменные DOS пусты? (например, %DATE%, %ERRORLEVEL%)   -  person Ross Ridge    schedule 16.10.2019