通过PowerShell将多色文本居中

我正在尝试使文本跨窗口居中;但是,文本是彩色的。例如,“文件夹:”是白色,而“ C:\ Temp”是红色。不论窗口大小是多少,在窗口内居中都将是“文件夹:C:\ Temp”,但单词“文件夹:”将为白色,而“ C:\ Temp”将为红色。

我知道如何使整个文本居中,只要是一种颜色即可。

我的代码:

$Path = "C:\Temp"

Function Write-A{
 param($message) Write-Host ("{0}.{1}" -f * (([Math]::Max(0,$Host.UI.RawUI.BufferSize.Width / 2) - [Math}::Floor($message.Length / 2)))),$message) -ForegroundColor DarkGray
}

Write-A "Folder: $Path"

以文本居中;但是,全都是一种颜色。有什么建议吗?

dazhuang358 回答:通过PowerShell将多色文本居中

如果要使用本机PS,则需要使用两次对Write-Host的调用来实现此目的。

jshell> String[] data = new String[10]
data ==> String[10] { null,null,null }

幸运的是,使用Write-Color可以很容易地做到这一点: https://github.com/EvotecIT/PSWriteColor

https://www.powershellgallery.com/packages/PSWriteColor/0.86

我还没有找到如何将文本居中的方法,但是,我相信这是可能的。

本文链接:https://www.f2er.com/3136333.html

大家都在问