为什么选择-index数组不起作用,powershell

mjs*_*jsr 2 arrays powershell select

我需要添加不属于线性序列的数字来检索指定的索引文件夹,我尝试这样做:

$a =ls | ?{$_.psiscontainer} | sort creationtime
Run Code Online (Sandbox Code Playgroud)

然后我尝试只选择一些文件夹(失败):

$a | select -Index (100, 101, (103..109))
Run Code Online (Sandbox Code Playgroud)

Whit这个简化的数组我没有问题:

$a | select -Index (103..109)
Run Code Online (Sandbox Code Playgroud)

我该如何添加这些数字?

我尝试这个,强制转换为数组,但转换过程失败,我不知道为什么,如果我得到数组的内部成员的类型,他们已经是Int32,所以我不明白错误.

$a | select -Index @(100, 101, (103..109))
Run Code Online (Sandbox Code Playgroud)

ste*_*tej 5

参数-Index是类型int[].这意味着你作为一个参数传递的内容,它必须是一个数字数组.

Imho最简单的方法就是添加这样的数组:

0..100 | select -Index (2,3,5 + 20..30 + 50,60)
Run Code Online (Sandbox Code Playgroud)

请注意,您不必这样做((2,3,5) + (20..30) + (50,60)),因为逗号运算符的优先级高于plus和interval运算符.