我有两个变量:
$variables2007 = "item1;Item2;Item3;item4" -split ';'
$data2007 = "Data1;data2;data3;data4" -split ';'我试图将这些内容放到一个表中,以便$variables2007的内容与$data2007的值并排匹配。我尝试过这样一个定制的PSObject:
$Props2007 = [ordered]@{
"2007Vars" = $variables2007
"Data2007" = $variables2007Data
}
New-Object -TypeName PSObject -Property $Props2007然而,这仍然只是写出来的表塞在彼此之间,即:
{item1 item2 item3 item4} 每一种内容都没有一个很好的列表,比如:
item1 value1
item2 value2
item3 value3发布于 2015-07-09 05:44:42
试试这个:
$h = [ordered]@{}
for ($i=0; $i -le $variables2007.Length; $i++) {
$ht["$($variables2007[$i])"] = $data2007[$i]
}
[psobject]$ht
Name Value
---- -----
item1 Data1
Item2 data2
Item3 data3
item4 data4发布于 2015-07-09 05:43:07
只需将数据放入散列表中,然后枚举内容即可。
$Props2007 = [ordered]@{
item1 = 'Data1'
item2 = 'Data2'
item3 = 'Data3'
}
$Props2007发布于 2015-07-09 12:02:05
PSv3及以上
$Props2007 = @()
(0..$variables2007.Length) | %{$Props2007+=[pscustomobject]@{Variable=$variables2007[$_];Data=$data2007[$_]}}
$Props2007这个方法的好处是很容易扩展,可以包含更多的列/成员
(0..$variables2007.Length) | %{$Props2007+=[pscustomobject]@{Variable=$variables2007[$_];Data=$data2007[$_];SomeThirdData=$ThirdData[$_]}}https://stackoverflow.com/questions/31308793
复制相似问题