在PowerShell中如何正确匹配退出代码?

时间:2019-02-25 17:51:46

标签: powershell

我正在修改其他人的脚本以更新各种BIOS版本。更新可能会触发许多不同的退出代码,因此原始作者的退出代码条件设置如下:

if ($FlashProcess.ExitCode -match "0|2|6|3010")

但是,我注意到,如果收到诸如“ 1602”之类的代码,由于“ 1602”中的“ 0”,“ 2”或“ 6”,它仍将匹配。如何防止这种情况发生?我意识到我可以对每个代码编号执行“-和-”操作,但认为可能会有一个更短的方法。

1 个答案:

答案 0 :(得分:1)

ExitCodeint属性:

ExitCode Property int ExitCode {get;}

因此,最好的方法是给我们-in条件运算符:

if ($FlashProcess.ExitCode -in @(0, 2, 6, 3010))