gpt4 book ai didi

powershell - 陷阱删除项目异常

转载 作者:行者123 更新时间:2023-12-02 02:18:40 24 4
gpt4 key购买 nike

在 powershell 中有一些我无法捕获的异常,或者我没有做更正的事情。

下面是执行这些操作的代码:

log "Processing $($_.Name).old" $logFile
if (Test-Path "$($_.Name).old" )
{
& {
rm "$($_.Name).old"
}
trap #[System.UnauthorizedAccessException]
{
log "Move to trash" $logFile
moveTrach "$($_.Name).old"
continue
}
}

我已经注释掉陷阱表达式中的类型,以确保捕捉到任何东西。但不幸的是,我从来没有进入陷阱条款。

我可以看到异常日志,但看不到“移至垃圾箱”日志。

2012-02-16 10:35:31 Processing file.dll
Remove-Item : Cannot remove item file.dll.old: Access to the path 'file.dll.old' is denied.
At upgradegw.ps1:189 char:29
+ rm <<<< "$($_.Name).old"
+ CategoryInfo : PermissionDenied: (file.dll.old:FileInfo) [Remove-Item], UnauthorizedAccessException
+ FullyQualifiedErrorId : RemoveFileSystemItemUnAuthorizedAccess,Microsoft.PowerShell.Commands.RemoveItemCommand
2012-02-16 10:35:31 Processing file2.dll

最佳答案

陷阱只会在终止错误时触发。

  rm "$($_.Name).old" -ErrorAction "Stop" 

关于powershell - 陷阱删除项目异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9309945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com