Wednesday, September 13, 2006
배치파일] 탈출코드(에러레벨;반환값) 강제로 설정하기 - ERRORLEVEL, Exit Code, Batch File
프로그래머를 위한 배치파일입니다. 어떤 프로그램이 종료할 때는, 운영체제에 정수로 된 반환값을 돌려줍니다. 0이면 에러가 없고, 0이 아닌 숫자는 에러가 있다는 의미입니다. 이런 반환값은, C언어의 main()함수의 return 문이나, exit() 함수로 구현됩니다.
프로그래밍 특히 디버깅을 하다보면, 이런 탈출코드를 특정값으로 인위적으로 설정해야 할 때가 있습니다. 가령 9009 라는 값을 돌려주고 끝나는 프로그램이 있으면 할 때가 있습니다.
이때 다음과 같은 배치 파일을 사용하면 편리합니다. 옵션으로 지정해 준 숫자를 즉시 탈출코드로 지정합니다.
return.bat
윈도우2000/XP이상에서는 exit 명령에 반환값을 지정할 수 있습니다. 원래 exit 명령은 도스창을 종료하라는 뜻인데 /b 옵션을 주면, 배치 파일만 종료시키게 됩니다. 그리고 앞에 있는 골뱅이(@)는 "@echo off"를 줄인 것입니다. (▶▶ 도스(DOS)/윈도우의, 배치 파일에서 echo off 란? 참고)
* 위의 코드박스에 있는 내용을 return.bat 등의 이름으로 저장합니다.
* 그냥 return 이라고 실행하면 아무 일도 하지 않습니다. 반드시 숫자로 옵션을 주어야 합니다.
return 123
이라고 한 후,
echo %errorlevel%
이라는 명령을 주면, 화면에 123 이라고 나옵니다. (▶▶ [배치 파일] 프로그램 실행의 성공 여부를 Error Level 로 확인/판단하기: ERRORLEVEL 참고)
프로그래밍 특히 디버깅을 하다보면, 이런 탈출코드를 특정값으로 인위적으로 설정해야 할 때가 있습니다. 가령 9009 라는 값을 돌려주고 끝나는 프로그램이 있으면 할 때가 있습니다.
이때 다음과 같은 배치 파일을 사용하면 편리합니다. 옵션으로 지정해 준 숫자를 즉시 탈출코드로 지정합니다.
return.bat
@exit /b %1
윈도우2000/XP이상에서는 exit 명령에 반환값을 지정할 수 있습니다. 원래 exit 명령은 도스창을 종료하라는 뜻인데 /b 옵션을 주면, 배치 파일만 종료시키게 됩니다. 그리고 앞에 있는 골뱅이(@)는 "@echo off"를 줄인 것입니다. (▶▶ 도스(DOS)/윈도우의, 배치 파일에서 echo off 란? 참고)
사용법
* 위의 코드박스에 있는 내용을 return.bat 등의 이름으로 저장합니다.
* 그냥 return 이라고 실행하면 아무 일도 하지 않습니다. 반드시 숫자로 옵션을 주어야 합니다.
return 123
이라고 한 후,
echo %errorlevel%
이라는 명령을 주면, 화면에 123 이라고 나옵니다. (▶▶ [배치 파일] 프로그램 실행의 성공 여부를 Error Level 로 확인/판단하기: ERRORLEVEL 참고)
tag: batch
배치파일 | DOS CMD BATCH .BAT
<< Home