항목이 없는 경우 오류 없이 존재하는지 확인
PowerShell을 사용하여 IIS 웹 응용 프로그램(또는 다른 종류의 항목)이 있는지 확인하려고 합니다.나는 이것을 할 수 있습니다.Get-Item
그러나 항목이 존재하지 않으면 오류가 보고되며, 이는 스크립트를 실행하는 사용자에게 오해를 유발합니다. 실제로 모든 것이 정상일 때 무언가 잘못된 것처럼 보입니다.
오류 없이 어떻게 해야 하나요?
cmdletTest-Path
이를 위해 특별히 설계되었으며 경로의 항목이 있는지 여부를 결정합니다.부울 값을 반환하고 오류를 생성하지 않습니다.
cmdletGet-Item
(및 유사)도 사용할 수 있지만 직접 사용할 수는 없습니다.한 가지 방법이 이미 제안되었습니다. 사용-ErrorAction SilentlyContinue
실제로 오류가 여전히 발생하지만 표시되지 않는다는 것을 아는 것이 중요할 수 있습니다.오류 수집 확인$Error
명령 뒤에 오류가 있습니다.
참고로
이 오류를 방지하는 재미있는 방법이 있습니다(이는 다음과 같은 다른 cmdlet과도 작동합니다).Get-Process
를 가지고 있지 않은 경우Test-Path
대안)."MyApp.exe" 항목(또는 "MyProcess" 프로세스)의 존재를 확인하려고 한다고 가정합니다.그런 다음 이러한 명령은 누락된 대상에 대해 아무것도 반환하지 않으며 동시에 오류도 생성하지 않습니다.
Get-Item "[M]yApp.exe"
Get-Process "[M]yProcess"
이러한 cmdlet은 와일드카드 대상에 대한 오류를 생성하지 않습니다.그리고 우리는 이 재미있는 와일드카드를 사용합니다. 실제로는 단일 항목과 일치합니다.
명령 사용...get-item blah -ErrorAction SilentlyContinue
언급URL : https://stackoverflow.com/questions/4362275/check-if-an-item-exists-without-an-error-if-it-doesnt-exist
'programing' 카테고리의 다른 글
통합 터미널 및 작업에 대해 Visual Studio Code가 갑자기 PowerShell로 기본 설정됨 (0) | 2023.08.05 |
---|---|
그룹 SQL별 실행 총계(Oracle) (0) | 2023.08.05 |
데이터가 추가될 때 div 끝까지 자동 스크롤하는 방법은 무엇입니까? (0) | 2023.08.05 |
C#에서 사용자의 공용 IP 주소를 가져오는 방법 (0) | 2023.08.05 |
add(), replace() 및 addToBackStack()의 차이 (0) | 2023.08.05 |