如何处理Copy-Item的异常?

9
我正在编写一个使用Copy-Item的PowerShell脚本。我想知道当Copy-Item无法将文件从源复制到目标时会抛出什么样的异常? 在此链接中,我没有看到会抛出什么样的异常。 在失败的情况下,我想处理该异常。
2个回答

17
在Try-Catch语句内的Copy-Item调用中添加标签“-errorAction stop”,如下所示。 errorAction引发一个错误,可以由Try-Catch处理。
$filepathname = 'valid file path and name'
$dest = '\DoesntExist\'

try
{
    Copy-Item $filepathname $dest  -errorAction stop
    Write-Host "Success"
}
catch
{
    Write-Host "Failure"
}

解释:Copy-Item会抛出非终止错误,这些错误不能被try-catch块处理。使用-ErrorAction Stop将错误提升为脚本终止错误,就像使用throw创建的那样。脚本终止错误可以被try-catch块处理,因此问题得到了解决! - undefined

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接