2011-01-21 65 views
1

我需要補充的是不屬於線性順序檢索指定索引文件夾號,我有這樣的嘗試:爲什麼選擇-index陣列不起作用,PowerShell的

$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)) 

回答

4

參數-Indexint[]類型。這意味着你作爲參數傳入的內容必須是一個數字數組。

恕我直言,最簡單的方法就是增加數組是這樣的:

0..100 | select -Index (2,3,5 + 20..30 + 50,60) 

請注意,你不必做((2,3,5) + (20..30) + (50,60)),因爲逗號操作符比加更高的優先級和區間算

+0

感謝我沒有知道數組add運算,這是所有我需要 – mjsr 2011-01-21 14:13:26

2

在這個例子中,你可以使用數組切片得到同樣的結果:

$a[100,101 + 103..109]