如何在 powershell 中输出粗体文本?

How does one output bold text in powershell?

我有一个 Powershell 脚本,它执行一些自动程序,我在每个脚本的末尾使用 "Write-Host" 来告诉技术用户这一步是完成了,但我意识到有点难以阅读和跟踪,¿有没有办法输出粗体文本?

提前致谢。

据我所知这是不可能的,但您可以更改文本的 foregroundcolorbackgroundcolor。这样您就可以输出不同颜色的文本,这样您就可以突出显示错误或警告。


这会显示红色文本:

Write-Host "This text is red" -ForegroundColor red

这会在红色背景上显示蓝色文本:

Write-Host "This text is blue" -ForegroundColor blue -BackgroundColor red

更多信息在这里: https://evotec.xyz/powershell-how-to-format-powershell-write-host-with-multiple-colors/

只是措辞...
'ConvertFrom-MarkDown` cmdlet (included with PowerShell 6 and higher), bold文字中看出实际存在:
(使用默认的 PowerShell 配色方案)

('This is **Bold** text' | ConvertFrom-MarkDown -AsVt100EncodedString).VT100EncodedString

但这并不完全公平,因为在幕后,这是一个玩颜色的问题。知道默认的前景色是 GrayWhite 只是稍微亮一点,因此看起来 Bold.
意思是上面的语句类似于:

Write-Host 'This is ' -NoNewline; Write-Host -ForegroundColor White 'Bold ' -NoNewline; Write-Host 'Text'

另请参阅:

Console Virtual Terminal Sequences

从 PowerShell 5.1 开始,PowerShell 控制台支持可用于定位和格式化控制台文本的 VT 转义序列。请注意,这个

# Enable underline
$esc = [char]27
"$esc[4mOutput is now underlined!"

# Disable underline
$esc = [char]27
"$esc[0mReset"

或者正如已经指出的那样,使用 Write-Host,只需切换内联文本颜色以形成对比...

Write-Host -ForegroundColor gray 'This is not bold ' -NoNewline
Write-Host -ForegroundColor White 'This is Bold ' -NoNewline
Write-Host -ForegroundColor gray 'This is not bold'

...也就是说,如果您没有下载或无法下载和使用外部内容。