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の関数内コマンドレットを追加、私は明示的に有効にする機能に設定することができるようにしたいでき
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 v5 –