在PowerShell脚本中缩进格式表输出

M. *_*ley 0 powershell indentation

如何将Format-Tablecmdlet的输出缩进到特定列?

我有:

> $SomeValues | Format-Table -HideTableHeaders
A    1
B    2
C    3
Run Code Online (Sandbox Code Playgroud)

但我想:

    A    1
    B    2
    C    3
Run Code Online (Sandbox Code Playgroud)

M. *_*ley 5

谢谢大家的回答。他们帮助我弄清楚了如何使用计算所得的属性来做我想做的事情。的Expression必须比缩进量,少了一个由于列之间在表中的自动单个字符的空间。

如果您使用-AutoSize标志:

Write-Host "Not indented"
Write-Host "    Indented"
$a = @{ Aa = 1; Bbb = 2; Cccc = 300}
$a | Format-Table -Property @{Expression="   "},Name,Value -AutoSize -HideTableHeaders
Run Code Online (Sandbox Code Playgroud)

如果您不使用-AutoSize标志:

Write-Host "Not indented"
Write-Host "    Indented"
$a = @{ Aa = 1; Bbb = 2; Cccc = 300}
$a | Format-Table -Property @{Expression={}; Width=3},Name,Value -HideTableHeaders
Run Code Online (Sandbox Code Playgroud)

输出如下:

Not indented
    Indented

    Bbb      2
    Aa       1
    Cccc   300
Run Code Online (Sandbox Code Playgroud)