batch 파일에서 python 스크립트를 실행하고 그 처리 결과에 따라 batch 스크립트 실행 종료 또는 계속 수행 여부를 판단해야할 일이 생겼다.
리턴값을 리다이렉션을 이용해서 사용하는 방법( https://stackoverflow.com/questions/32559614/how-can-i-get-return-value-string-from-called-python-by-batchfile )이 우선 눈에 띄었는데 그리 깔끔해보이진 않는다. 그리고 일단 저 방식을 쓰기 위해선 기존에 짜놓았던 python 스크립트에 리턴값을 추가로 지정해줘야 하는 것도 지금 문제에서는 적절해보이지 않았고.
좀 더 뒤져보다가 깔끔한 방법을 찾았다.
python 스크립트에서 batch 스크립트 종료해야할 경우의 로직에 sys.exit(1) 을 추가해주었고 batch 스크립트에서는 위 글 샘플 그대로 아래와 같은 식으로 간단히 코딩 추가.
set RC=
setlocal python gen_conf.py ...
endlocal & set RC=%ERRORLEVEL%
if "%RC"=="1" (
echo Error : ...
exit /B
)