ErrorAction 매개 변수를 고급 기능과 함께 올바르게 사용하려면 어떻게해야합니까? 예를 들어 나는 그런 기능을 가지고 :powershell 처리 방법 고급 기능 ErrorAction 매개 변수?
function test1 {
[CmdletBinding()]
param([string]$path = "c:\temp")
$src = Join-Path $path "src"
$dest = Join-Path $path "dest"
Copy-Item -Path $src $dest -Recurse -Verbose
write "SomeText"
}
는 $ SRC가 존재하지 않는 소스 경로를 가정 할 수 있습니다. 내가 ErrorAction으로이 기능을 실행하고 =를 중지
test1 -ea stop
나는 오류가 발생합니다 내가 "SomeText"메시지가 표시되지 것으로 기대. 그러나 나는 그것을 가지고 : 나는 ErrorAction 매개 변수 복사 품목 TEST1 함수 내에서 cmdlet을 추가 할 수 있지만 내가 명시 적으로 활성화하는 기능을 설정할 수 있도록하려면 수
Copy-Item : Cannot find path 'C:\temp\src' because it does not exist. At line:5 char:1 + Copy-Item -Path $path\src $path\dest -Recurse -Verbose + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (C:\temp\src:String) [Copy-Item], ItemNotFoundException + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.CopyItemCommand SomeText
/오류 조치 동작을 비활성화하십시오..
제대로 작동하려면 어떻게해야합니까?
을 확인해야합니다. PowerShell의 어떤 버전입니까? 전체 매개 변수 이름 ('test1 -ErrorAction Stop')을 사용하면 차이가 있습니까? –
마찬가지로 PowerShell 5에서는 재현 할 수 없습니다. –
** Verbose ** 매개 변수가 ** Copy-Item **에 추가 된 경우 오류없이 바로 중지됨을 알았습니다. 그러나 ** Verbose ** 매개 변수를 사용하면 작동하지 않습니다. PowerShell v.5 –