电源外壳接收作业查找状态是否为失败



我在Powershell脚本中有几个启动作业,我想知道是否有更好的方法来知道其中一个是否失败,这就是我到目前为止得到的,谢谢。

#Wait for the background jobs
$Jobs | Wait-Job
#Get the data from them
$Data = $Jobs | Receive-Job
Write-Host "Printing Data"

foreach($job in $Jobs)
{
if($job.State -eq "Failed")
{
exit -1
}
}
exit 0
exit (0, -1)[$Jobs.State -contains 'Failed']
  • 使用成员访问枚举,$Jobs.Failed以数组形式返回数组$Jobs中所有作业的.State属性值。

  • -contains 'Failed'测试包含字符串Failed的值数组。

  • [...]使用生成的布尔值作为数组0, -1的索引;如果布尔值$false,则强制索引0,如果$true则强制1,从而选择适当的退出代码。

最新更新