exp*_*001 -1 powershell powershell-2.0
这是我的代码:
Write-Host "Field 1 : " $variable1
Write-Host "Field 2 : " $variable2
Write-Host "Field 3 : " $variable3
Write-Host "Field 4 : " $variable4
Run Code Online (Sandbox Code Playgroud)
我得到如下输出:
Field 1 : " $variable1
Field 2 : " $variable2
Field 3 : " $variable3
Field 4 : " $variable4
Run Code Online (Sandbox Code Playgroud)
我怎样才能对齐它们?
谢谢
我认为,根据他之前的问题, 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]
Run Code Online (Sandbox Code Playgroud)
结果
name : username1
age : 24
email : you@there.com
name : username1
age : 24
email : you@there.com
Run Code Online (Sandbox Code Playgroud)
第二种解决方案
如果您创建 pscustom 对象,那么您可以使用所有那些花哨的 cmdlet,例如 format-table :):
$col=@(
[PSCustomObject]@{$field1[0]=$field1[1]},
[PSCustomObject]@{$field2[0]=$field2[1]},
[PSCustomObject]@{$field3[0]=$field3[1]}
)
$col |ft
Run Code Online (Sandbox Code Playgroud)
结果 :
Name Value
---- -----
name username1
age 24
email you@there.com
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11692 次 |
| 最近记录: |