Powershell 数组搜索键

Powershell 数组搜索键

我有一个名为 $a 的数组

echo $a给出:

url                                                               load                                                             
---                                                               ----                                                             
win-coll2.astest.org                                              9                                                                
win-coll.astest.org                                               110                                                              
win-coll4.astest.org                                              110                                                              
win-coll5.astest.org                                              140                                                              
win-coll3.astest.org                                              410 

现在我想知道,如果数组包含一个字符串,例如: win-coll2.astest.org应该导致true 并且win-coll7.astest.org应该导致false

有没有一种正确的方法可以在没有的情况下做到这一点foreach

使用 foreach:

$IsInArray = false
$ProofString = "win-coll2.astest.org"
foreach( $item in $a){
  if($item.url -eq $ProofString){
    $IsInArray = true
  }
}

答案1

在 powershell v4 (也可能是 v3) 中,您可以执行以下操作:

[PS] > $a.url -contains 'win-coll2.astest.org'
True
[PS] > $a.url -contains 'win-coll7.astest.org'
False

否则,我认为最简单、最不痛苦的方法是做一个foreach或一个foreach-object......

相关内容