在Powershell中,我有以下陣列
foreach ($Record in $Records)
{ write-host $Record
}
我想為陣列中的每個元素添加另一個屬性,它應該是 "car "屬性的直接映射
汽車制造商
歐佩爾 通用
寶馬 巴伐利亞汽車公司
奧迪 大眾集團
FORD 福特汽車公司
以此類推,帶有制造商的串列有100多個不同的值,最初的陣列應該變成
。
。
有什么建議,如何完成這個任務? 如果陣列是帶有屬性的物件怎么辦?
uj5u.com熱心網友回復:
看起來你使用$Records陣列獲得了Import-Csv或其他東西,因為你顯示的是一個物件的陣列。
在這里,最簡單的事情就是創建一個查找Hashtable,作為汽車品牌和制造商之間的映射服務器:
# create a mapping lookup Hashtable。
$map = @{
'OPEL'/span> = 'GM'/span>
'BMW' = 'Bayerishe Motoren Werke'。
'FORD' = 'FORD Motor Company'。
'AUDI' = 'Volkswagen Group'。
}
# 使用$map為每條記錄添加一個新的屬性。
foreach ($Record in $Records){
$Record | Add-Member -MemberType NoteProperty -Name ' manufacturer' -Value $map[$Record.car]
}
現在你可以把這個$Records陣列保存到例如一個CSV檔案中
$Records | Export-Csv -Path 'X:CarsAndManufacturers.csv' /span> -NoTypeInformation
以表格形式顯示在螢屏上或在GridView中
。$Records | Format-table -AutoSize # or: $Records | Out-GridView
或者像你以前那樣:
foreach ($Record in $Records) {
Write-Host $Record
作為表的輸出看起來像這樣:
汽車計數制造商
-------- ------------
歐寶 3 GM
BMW 2 Bayerishe Motoren Werke
歐寶 8 GM
奧迪 3 大眾 Group
FORD 5 FORD汽車公司
FORD 4 FORD汽車公司
歐寶 4 GM
奧迪 5 大眾 Group
寶馬 3 Bayerishe Motoren Werke
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/309293.html
標籤:
