小编Vop*_*pel的帖子

在 PowerShell 7.2 中更改详细颜色

我希望以下代码能够使用默认前景色打印详细文本:

$Host.PrivateData.VerboseForegroundColor = [console]::ForegroundColor
Write-Verbose 'Test' -Verbose
Run Code Online (Sandbox Code Playgroud)

但是,它照常打印黄色文本。更改错误前景色确实有效:

$Host.PrivateData.ErrorForegroundColor = [console]::ForegroundColor
Write-Error 'test'
Run Code Online (Sandbox Code Playgroud)

我发现规避这个问题的唯一方法是这样做:

Write-Verbose 'Test' -Verbose *>&1 | Write-Host
Run Code Online (Sandbox Code Playgroud)

但这并没有真正改变详细颜色,它只是强制它使用 Write-Host 作为默认文本直接打印到控制台主机。我确实知道 Write-Host 确实可以让您将消息颜色更改为您想要的任何颜色,但这并不是一个理想的解决方案。

powershell colors verbose powershell-core

8
推荐指数
1
解决办法
986
查看次数

标签 统计

colors ×1

powershell ×1

powershell-core ×1

verbose ×1