有没有办法在 PowerShell 中居中文本

DID*_*x13 2 powershell

我们如何在 PowerShell 中居中文本?WindowWidth显然不存在,那么有没有办法以某种方式使文本居中?

我们想要这个输出:

    *
   ***
  *****
 *******
Run Code Online (Sandbox Code Playgroud)

所以我写了

for ($i=1; $i -le 7; $i+=2)
{
  write-host("*" * $i)
}
Run Code Online (Sandbox Code Playgroud)

但我们得到

*
***
*****
*******
Run Code Online (Sandbox Code Playgroud)

fda*_*adf 5

function Write-HostCenter { param($Message) Write-Host ("{0}{1}" -f (' ' * (([Math]::Max(0, $Host.UI.RawUI.BufferSize.Width / 2) - [Math]::Floor($Message.Length / 2)))), $Message) }

Write-HostCenter '*'
Write-HostCenter '***'
Write-HostCenter '*****'
Run Code Online (Sandbox Code Playgroud)