我需要添加不属于线性序列的数字来检索指定的索引文件夹,我尝试这样做:
$a =ls | ?{$_.psiscontainer} | sort creationtime
然后我尝试只选择一些文件夹(失败):
$a | select -Index (100, 101, (103..109))
使用这个简化的数组我没有问题:
$a | select -Index (103..109)
我该如何添加这些数字?
我尝试这个,强制转换为数组,但转换过程失败,我不知道为什么,如果我得到数组的内部成员的类型,他们已经是Int32,所以我不理解错误。
$a | select -Index @(100, 101, (103..109))
答案 0 :(得分:5)
参数-Index
的类型为int[]
。这意味着你作为一个参数传递的内容,它必须是一个数组数组。
Imho最简单的方法就是添加这样的数组:
0..100 | select -Index (2,3,5 + 20..30 + 50,60)
请注意,您不必执行((2,3,5) + (20..30) + (50,60))
,因为逗号运算符的优先级高于plus和 interval运算符。
答案 1 :(得分:2)
对于此示例,您可以使用数组切片获得相同的结果:
$a[100,101 + 103..109]