我認爲,根據他以前的那個field1,2,3 ......是可變長度的數據庫字段的名稱問題。
第一個解決方案,不是很優雅,但你可以使用-f格式運算符添加一些額外的空格來調整您的第二列(波紋管,我們使用40個字符減去第一列的長度)
[email protected]("name";"username1")
[email protected]("age";24)
[email protected]("email";"[email protected]")
wh $field1[0] " : " $field1[1]
wh $field2[0] " : " $field2[1]
wh $field3[0] " : " $field3[1]
wh
#fill some extra whitespaces
$spaces1=40 - $field1[0].Length
$spaces2=40 - $field2[0].Length
$spaces3=40 - $field3[0].Length
"{0}{1,$spaces1}" -f $field1[0], " : "+$field1[1]
"{0}{1,$spaces2}" -f $field2[0], " : "+$field2[1]
"{0}{1,$spaces3}" -f $field3[0], " : "+$field3[1]
結果
name : username1
age : 24
email : [email protected]
name : username1
age : 24
email : [email protected]
解決方法二
如果創建pscustom對象,那麼你可以使用所有那些花哨的cmdlet,如格式表:):
[email protected](
[PSCustomObject]@{$field1[0]=$field1[1]},
[PSCustomObject]@{$field2[0]=$field2[1]},
[PSCustomObject]@{$field3[0]=$field3[1]}
)
$col |ft
結果:
Name Value
---- -----
name username1
age 24
email [email protected]
他們應該被默認對齊。輸出很可能不包含雙引號,變量將被替換爲各自的值。你可否確認?如果您告訴上述變量中存儲的內容可能會有幫助,可能是關於特殊字符。 – Neolisk
我不知道輸入可以產生輸出。請提供*可重現*的測試用例。 – 2012-12-10 00:41:11