У меня проблема с моим командным файлом. Он создает несколько программ автоматически, делая что-то вроде этого:
- установить некоторые флаги компиляции
- запустите 'gmake all'
- вызовите функцию "проверить уровень ошибки", и если уровень ошибок 1, выход
Итак, это выглядит так:
set FLAG=1
...
gmake all
call :interactive_check
set OTHERFLAG=1
...
gmake all
call :interactive_check
Там 6 или 7 из них (и это может расти). Поэтому я сделал функцию проверки уровня ошибок, а не копирования/вставки его на каждом шаге. Проблема заключается в следующем: проверка ошибок выполняется с помощью функции:
:interactive_check
if errorlevel 1 (
echo.
echo /!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\
echo Error in compilation process... exiting
echo /!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\/!\
echo.
cd %root_dir%
exit /B 1
) ELSE (
echo.Continuing to next step
)
goto:eof
Теперь, при запуске, exit /B 1
просто выйдет из функции , но не пакетный файл.
Вы знаете, как выйти из полного командного файла без необходимости копировать/вставлять мой "if errorlevel 1.." на каждом шагу?