我认为,根据他之前的问题 field1,2,3 ... 是具有可变长度的数据库字段名称。
第一个解决方案,不是很优雅,但您可以使用 -f 格式运算符添加一些额外的空格来对齐您的第二列(下面我们使用 40 个字符减去第一列的长度)
$field1=@("name";"username1")
$field2=@("age";24)
$field3=@("email";"you@there.com")
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 : you@there.com
name : username1
age : 24
email : you@there.com
第二种解决方案
如果您创建 pscustom 对象,那么您可以使用所有那些花哨的 cmdlet,例如 format-table :):
$col=@(
[PSCustomObject]@{$field1[0]=$field1[1]},
[PSCustomObject]@{$field2[0]=$field2[1]},
[PSCustomObject]@{$field3[0]=$field3[1]}
)
$col |ft
结果 :
Name Value
---- -----
name username1
age 24
email you@there.com