我能够将我想要的列名称作为我的文本文件的标题。它们作为垂直列表输出。我希望它们是水平的,制表符分隔的标题。有什么想法吗?
$reader=$sqlCMD.ExecuteReader()
for($i=0;$i -lt $reader.FieldCount;$i++)
{
$headers = $rdr.GetName($i) | out-file File Path Here -Append
}
答案 0 :(得分:1)
从你的代码片段中,我假设你得到的每个标题a)新行或b)所有标题都在一行上粉碎。
尝试以下操作,使用字符串插值并在结尾输出一次所有值。 (注意:t之前的那个字符是反引号(`
)而不是撇号)
for ($i=0; $i -lt $reader.FieldCount; $i++) {
$headers = "$headers`t$($reader.GetName($i))"
}
Add-Content -Path [file-name-here] -Value $headers
答案 1 :(得分:0)
更一般地说,如果您有一个数组(例如字段名称列表),您可以使用-join
运算符将它们转换为单行字符串:
PS > $fields = @()
PS > $fields+="one"
PS > $fields+="two"
PS > $fields+="three"
PS > $fields
one
two
three
PS > $fields -join "`t"
one two three