외부 프로그램 및 다른 스크립트를 실행하는 PowerShell 스크립트를 작성하고 있습니다. 외부 프로그램의 오류 처리
& ./directory/file.exe
or
& ./directory/script.ps1
가 어떻게 오류를 잡을 수 :
나는 아래와 같은 주요 스크립트에서 .EXE 및 .ps1입니다 스크립트를 호출하는거야?
유닉스처럼, 나는 $?
를 사용하고 같은 수행 할 수 있습니다
if($? -ne 0) then exit 1 ...
이것이 가장 좋은 방법입니다? EXIT을 PowerShell과 함께 사용할 수 있습니까?
그런데 "&".exe 파일을 호출하는 가장 좋은 방법은 무엇입니까? .ps1?
스크립트 내에서 'exit' 명령은 전체 호스트가 아닌 해당 스크립트 만 종료합니다. – PetSerAl
$ LastExitCode와 잘 작동하지 않는 것 같습니다. mail.exe가 실수로 실패했습니다. 아래를 사용할 때 email.exe가 실패하더라도 반환 코드는 0입니다. $ LastExitCode의 값은 0 및 MAIL.EXE 이메일 -EL $ EML -smt $ smtp_server에 경우 ($ LastExitCode> 0) { 쓰기 호스트 "오류 보내는 이메일" 종료 5 } 입니다 쓰기 호스트 "이메일 성공" 아래에서 사용하는 경우 작동합니다. 및 MAIL.EXE 이메일 -EL $ EML -smt $ smtp_server에 경우 (! $?) { 쓰기 호스트 "오류 보내는 이메일" 종료 5 } 쓰기 호스트 "이메일 성공" I 이해가 안되는 이유 – Linus
@Linus'$ LastExitCode -0 0'을'$ LastExitCode -gt 0'으로 변경 -'>'는 스트림 방향 지정 연산자입니다. –