是否有相当于" ...... ||死"在powershell?

时间:2015-04-02 11:05:40

标签: powershell

有点像perl中的<statement> || die,我可以在每个关键语句中加入一些简洁的内容,以避免在出现问题时使用其余的脚本来打扰PowerShell。

2 个答案:

答案 0 :(得分:5)

大多数命令都支持-ErrorAction常用参数。指定-ErrorAction Stop通常会在出错时暂停脚本。请参阅Get-Help about_CommonParameters

默认情况下,-ErrorActionContinue。您可以通过更改$ErrorActionPreference的值来更改默认选项。请参阅Get-Help about_Preference_Variables

如果详细程度确实存在问题,-ErrorAction的别名为-ea

答案 1 :(得分:1)

在PowerShell中实现类似...|| die的构造而不需要添加巨大的try-catch构造的另一种方法是使用自动变量$?
来自Get-Help about_Automatic_variables

$?  
   Contains the execution status of the last operation. It contains
   TRUE if the last operation succeeded and FALSE if it failed.

只需在每个关键声明后添加以下内容:

if(-not $?){
    # Call Write-EventLog or write $Error[0] to an xml or txt file if you like
    Exit(1)
}