我在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
,从而选择适当的退出代码。