Export-Csv
入力がオブジェクトであることを期待します。文字列入力は、1つのプロパティ(Length
)を持つ文字列オブジェクトと見なされます )、したがって、このプロパティのみがエクスポートされます。入力が文字列の配列である場合は、それをオブジェクトにする必要があります。このように:
$array = "foo", "bar", "baz"
New-Object -Type PSCustomObject -Property @{
"a" = $array[0]
"b" = $array[1]
"c" = $array[2]
} | Export-Csv output.csv -NoTypeInformation
上記はファイルoutput.csv
を作成します 次の内容で:
"c","a","b"
"baz","foo","bar"
プロパティ名(a
、b
、c
)はCSVヘッダー、プロパティ値(foo
)になります 、bar
、baz
)CSV値になります。
SQLクエリが配列のリストを生成する場合は、おそらく次のようなことを行う必要があります。
Invoke-Sqlcmd ... | % {
New-Object -Type PSCustomObject -Property @{
"col1" = $_[0]
"col2" = $_[1]
"col3" = $_[2]
}
} | Export-Csv output.csv -NoTypeInformation
ただし、SQLサーバーが手元にないので、一粒の塩を用意してください。