问题
The PowerShell range operator generates a list of values:
>1..6
1
2
3
4
5
6
How can I generate a list of values with a specific step? For example, I need a list from 1 to 10 with step 2.
回答1:
The range operator itself doesn't support skipping/stepping, but you could use Where-Object
(or the Where()
method if you're running version 4.0 or above) to filter out every second:
PS C:\> (1..10).Where({$_ % 2 -eq 0})
2
4
6
8
10
Version 2.0 and up:
PS C:\> 1..10 |Where-Object {$_ % 2 -eq 0}
2
4
6
8
10
来源:https://stackoverflow.com/questions/33892174/using-range-operator-with-a-step