Если мне нужно выбрать только несколько строк, я бы напрямую проиндексировал массив:
$x = gc c:\test.txt
$x[(0..2) + (8..($x.Length-1))]
Также возможно создание функции Skip-Objects
function Skip-Object {
param(
[Parameter(Mandatory=$true,ValueFromPipeline=$true)][PsObject]$InputObject,
[Parameter(Mandatory=$true)][int]$From,
[Parameter(Mandatory=$true)][int]$To
)
begin {
$i = -1
}
process {
$i++
if ($i -lt $from -or $i -gt $to) {
$InputObject
}
}
}
1..6 | skip-object -from 1 -to 2 #returns 1,4,5,6
'a','b','c','d','e' | skip-object -from 1 -to 2 #returns a, d, e