powershell 使用多个命令或变量使用Try / Catch进行Powershell错误处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了powershell 使用多个命令或变量使用Try / Catch进行Powershell错误处理相关的知识,希望对你有一定的参考价值。

##  Powershell Error Handling with Try/Catch, using multiple commands or variables
​
#  Declaring module Paths as array
$OSDScriptsPaths =@(
    "C:\Windows\System32\WindowsPowerShell\v1.0\Modules\OSDScripts",
    "C:\Program Files\WindowsPowerShell\Modules\OSDScripts"
)

#  Parse OSDScriptsPaths array and for each item try to remove the module using -ErrorAction Stop parameter and Err variable to store execution errors
#  We use -ErrorAction Stop in order to treat all errors as Terminating Errors
ForEach ($Path in $OSDScriptsPaths) {
    Try {
        Remove-Item -Path $Path -Recurse -Force -ErrorAction Stop -ErrorVariable +Err
        Write-Host "Delete $Path - Successful!"
    }
    
    #  Catch Item Not Found Exception error
    Catch [System.Management.Automation.ItemNotFoundException]
    {
        Write-Host "$Path - Not Found!" -ForegroundColor Green
    }

    #  Catch all other errors
    Catch {
        Write-Host "Delete $Path - Failed!"
        Write-Host "Failed with Error: "$Err
    }
}

以上是关于powershell 使用多个命令或变量使用Try / Catch进行Powershell错误处理的主要内容,如果未能解决你的问题,请参考以下文章

用powershell的try catch, 为啥try里面出现异常,catch 捕获不到呢?

PowerShell第一讲,别名,变量,命令。

Shell、CMD、PowerShell、Bash

如何从PowerShell命令行转义管道字符以传递到非PowerShell命令

如何在 powershell 中使用变量调用命令?

powershell.exe 命令行变量