GoCD - 如何在PowerShell中显示彩色输出?

3
如标题所述,我们如何在PowerShell脚本中以彩色显示控制台输出?我们正在使用 GoCD 的 v16.12 版本。
编辑:由于公司政策,我们不允许使用 write-host。请不要问为什么 :)
3个回答

0

如果你想要一个更简单的方式来处理这些颜色,你可以安装并使用我编写的TMOutput模块。它使用System.Console,但是你需要编写的代码更少。

这里有一篇关于它的文章链接:http://tommymaynard.com/script-sharing-write-output-gets-foreground-and-background-colors-and-more-2016/。在那个页面上,有一个链接指向Microsoft的PowerShell Gallery上的该模块。如果你使用PowerShellGet,你可以使用以下命令下载和安装它。

Install-Module -Name TMOutput

编辑:模块还会为您执行另一项任务,即将颜色重置回您在使用颜色之前的状态。如果您只是自己使用[System.Console],则必须自行执行此操作。


谢谢建议,问题似乎出在GoCD控制台上,它无法显示颜色... :( - Ali Reza Dehdar

0

答案绝对与GoCD无关。 那么呢?

[System.Console]::BackgroundColor="blue"
[System.Console]::ForegroundColor="yellow"
[System.Console]::WriteLine("yellow on blue");

谢谢。我会试一下,几天后再回复你。 - Ali Reza Dehdar
谢谢建议,问题似乎出在GoCD控制台上,它无法显示颜色... :( - Ali Reza Dehdar

0

这只是任意的,不是Write-Host,但它是另一个可能满足要求的选项。

$Host.UI.Write('Cyan','DarkMagenta','Text to display')

重载:

void Write(string value)
void Write(System.ConsoleColor foregroundColor, System.ConsoleColor backgroundColor, string value)

另外值得注意的是,如果您的要求实际上是满足 PSScriptAnalyzer 规则,您可以将任何 Write-Host 命令包装在一个使用动词 Show 的函数中(例如 Show-GoCDOutput),这样 PSScriptAnalyzer 将跳过它。


谢谢建议,问题似乎出现在 GoCD 控制台上,无法显示颜色... :( - Ali Reza Dehdar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接