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

Har*_*ado 9 powershell windows-scripting write-host

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

先感谢您。

iRo*_*Ron 10

只是措辞......
'ConvertFrom-MarkDown` cmdlet(包含在PowerShell 6及更高版本中)中看到, 实际存在粗体文本:(
使用默认的PowerShell配色方案)

('This is **Bold** text' | ConvertFrom-MarkDown -AsVt100EncodedString).VT100EncodedString
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

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

Write-Host 'This is ' -NoNewline; Write-Host -ForegroundColor White 'Bold ' -NoNewline; Write-Host 'Text'
Run Code Online (Sandbox Code Playgroud)

  • 第二个是一个很好的解决方法,也适用于 v5.1。 (3认同)

pos*_*ote 10

也可以看看:

控制台虚拟终端序列

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

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

# Disable underline
$esc = [char]27
"$esc[0mReset"
Run Code Online (Sandbox Code Playgroud)

或者正如已经指出的那样,使用 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'
Run Code Online (Sandbox Code Playgroud)

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