在Where语句中使用数字范围

问题描述 投票:0回答:1

我正在尝试在Where语句中使用数字范围,同时迭代foreach循环。 $i变量用于分离循环的各个部分,具体取决于循环已完成的迭代次数。

$a = 11..20
$i = 0
$PoolSW = ""
$PoolSW2 = ""
$PoolSW3 = ""

foreach ($Pool in $PoolTable) {
    $i++
    [Array]$PoolSW += "Statistic.Pool$($Pool.Name -replace "-","_"): $(Get-PoolHealth -BooleanState $Pool.Enabled)" | where {$i -le 10}
    [Array]$PoolSW2 += "Statistic.Pool$($Pool.Name -replace "-","_"): $(Get-PoolHealth -BooleanState $Pool.Enabled)" | where {$i -eq $a}
    [Array]$PoolSW3 += "Statistic.Pool$($Pool.Name -replace "-","_"): $(Get-PoolHealth -BooleanState $Pool.Enabled)" | where {$i -gt 20}
}

变量$PoolSW$PoolSW3工作得很好,不幸的是我不知道如何让$PoolSW2正常工作。我尝试过where {$i -eq 11..20},我尝试用逗号分隔数字,我也试过-contains

powershell loops foreach numbers where
1个回答
2
投票

您可以使用如下范围 -

... | where {$i -ge 11 -and $i -le 20}

要么

使用-In运算符 -

... | where {$i -in 11..20}
© www.soinside.com 2019 - 2024. All rights reserved.