为对象

时间:2015-12-01 00:12:45

标签: powershell-v3.0

我看了一遍,似乎无法找到答案。我会尝试尽可能简单地解决这个问题。

我有一个阵列......

$arr = @("abc", "dfg", "jkl")

现在我想创建一个对象(最终将导出到csv文件)。有了这个对象,我希望这个名字是' ListOfStrings'以及要从数组中插入的值。

所以这样......

$objListOfStrings = New-Object PSObject

$objListOfStrings | add-member -membertype NoteProperty -name "ListOfStrings" -value "$arr[0]"
$objListOfStrings | add-member -membertype NoteProperty -name "ListOfStrings" -value "$arr[1]"
$objListOfStrings | add-member -membertype NoteProperty -name "ListOfStrings" -value "$arr[2]"
$objListOfStrings | Format-Table

输出看起来像这样......

ListOfStrings
-------------
abc dfg jkl

相反,我试图让输出看起来像这样......

ListOfStrings
-------------
abc
dfg
jkl

任何可以帮助我的人都会非常感激。感谢。

1 个答案:

答案 0 :(得分:0)

所需输出列表中的每一行都是一个单独的对象。不是使用属性添加到一个对象,而是使用ListOfStrings属性为每个数组元素创建一个对象:

$arr = "abc", "dfg", "jkl"

$objListOfStrings  = $arr | % {
   [PSCustomObject] @{
      ListOfStrings = $_
   }
}