我想讀取一個csv文件,根據兩個字段的值對其進行過濾,並設置另一個字段的值。下面是我想要實現一個簡單的例子 :Powershell:設置過濾數組的值
C:\ somefile.csv內容:
firstField,secondField,thirdField
1,2,"somevalue"
2,2,"avalue"
3,1,"somevalue"
#Import file into array
$csv = Import-Csv c:\somefile.csv
# Where secondField = 2 and thirdField = "someValue" set thirdField =
"anotherValue"
$csv | where {$_secondField -eq 2 -and $_.thirdField = "somevalue"} |
<set value of thirdField = "anotherValue">
我怎樣才能做到這一點。如您所見,從示例中,我可以讀取 並對數組進行過濾。但是我不知道如何設置第三場的值爲 。我嘗試了set-itemproperty,但得到錯誤:「在關閉管道 後,無法調用 WriteObject和WriteError方法」。
編輯:我也只想更改爲返回的前2項(行)的值。 由我回答:我用Select -first 2.
任何意見,如何實現這一點,將不勝感激。
艾倫牛逼
注意自我:確保CSV中的標題行沒有尾隨空間......這使我在過去幾分鐘的測試中失去了... – Joey 2010-06-17 16:31:17
謝謝stej工作過。 – 2010-06-17 16:47:39