: 나는 다양한 방법으로 그것을 실행하면왜 cmd.exe는 64 비트 시스템에서 다른 오류 수준 동작을합니까? 내가 포함 (예를 들어) 배치 스크립트라는 이름의 temp.bat을하면
exit /b 1
, 나는 64 비트 대 내 32 비트 XP 시스템에서 다른 동작을 얻을 XP 시스템. 에
32 비트 : 64 비트에
> temp.bat
> echo %ERRORLEVEL%
1
> cmd /c temp.bat
> echo %ERRORLEVEL%
0
는 :
> temp.bat
> echo %ERRORLEVEL%
1
> cmd /c temp.bat
> echo %ERRORLEVEL%
1
나는 cmd.exe를 옵션을 통해 검색 한 내가 어떤 옵션이 어떻게 제어를 찾을 수 없었습니다 배치 스크립트에서 오류 수준 정보를 전달합니다. 이 시점에서 나는이 차이에 대해 합리적인 설명을 찾을 수 없습니다.
내 생각 엔 원래 동작을 유지하는 32 비트 버전은 이전 버전과의 호환성 때문입니다. 64 비트 버전에는 이러한 요구 사항이 없으므로 자동화 된 스크립트에보다 친숙하게 동작합니다. –
아하! 레이몬드의 딸 [http://blogs.msdn.com/oldnewthing/archive/2003/12/24/45779.aspx] 대 레이몬드의 들러리 [http://blogs.msdn.com/oldnewthing/archive/2009/12/02] /9931184.aspx#9931572] –
여기에서 재현 할 수 없습니다. 32 비트와 64 비트 모두 동일하게 작동합니다. – Joey