2010-08-10 5 views

답변

38

"Errorlevel 경우"명령을 원합니다.

myProgram.exe 
if errorlevel 1 goto somethingbad 
echo Success! 
exit 
:somethingbad 
echo Something Bad Happened. 

ERRORLEVEL 검사가 같음 또는 검사로 수행되기 때문에 비 0 종료 값이 점프를 트리거 : 실패시 0이 아닌 종료 코드가 실행 파일을 반환 가정하면, 그런 짓을. 따라서 하나 이상의 특정 종료 값을 확인해야하는 경우 먼저 가장 높은 종료 값을 확인해야합니다.

+2

또한 Windows 2000 이후에는'==','EQU','LSS' 등으로 테스트 할 수있는'% ERRORLEVEL % '이라는 가상 환경 변수가 있습니다. –

+0

완벽! 감사. – Dlongnecker

+2

아, 후손을 위해, 다음에 : somethingbad, "pause"명령을 사용하십시오. – Dlongnecker

24

conditional processing symbols을 사용하여 간단한 성공/실패 검사를 수행 할 수도 있습니다. 예를 들어 :

myProgram.exe && echo Done! 

myProgram.exe가 myprogram.exe로 0이 아닌 오류 수준을 반환하는 경우 일시 배치 파일을 야기 오류 레벨 0

myProgram.exe || PAUSE 

반환하는 경우에만 Done!를 인쇄 할 것이다.

+0

매우 쿨하고 컴팩트하며 실제로 읽을 수 있다고 말하고 싶습니다. – Dlongnecker

+0

이 솔루션이 훨씬 더 좋아 보인다는 것에 동의해야합니다. – dmportella

+2

이렇게 할 수 있습니다 :'myProgram.exe || exit/b 1' 명령의 나머지 부분을 중지 하시겠습니까? – rakslice