我有一个执行一些自动程序的Powershell脚本,我在每个程序的末尾使用“Write-Host”来告诉技术用户该步骤已完成,但我意识到有点难以阅读和跟踪所以, ¿ 有没有办法输出粗体文本?
先感谢您。
我有一个执行一些自动程序的Powershell脚本,我在每个程序的末尾使用“Write-Host”来告诉技术用户该步骤已完成,但我意识到有点难以阅读和跟踪所以, ¿ 有没有办法输出粗体文本?
先感谢您。
只是措辞...
从“ConvertFrom-MarkDown” cmdlet(包含在 PowerShell 6 及更高版本中)来看, 实际上存在粗体
文本:(使用默认的 PowerShell 配色方案)
('This is **Bold** text' | ConvertFrom-MarkDown -AsVt100EncodedString).VT100EncodedString
但这并不完全公平,因为在幕后,这是玩颜色的问题。知道默认的前景色是Gray
并且White
只是稍微明亮一点,因此看起来是Bold。
意思是上面的语句类似于:
Write-Host 'This is ' -NoNewline; Write-Host -ForegroundColor White 'Bold ' -NoNewline; Write-Host 'Text'
也可以看看:
从 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'
...也就是说,如果您没有下载或无法下载和使用外部内容。
据我所知,这是不可能的,但您可以更改文本的前景色和背景色。通过这种方式,您可以输出不同颜色的文本,以便突出显示错误或警告。
这将显示一个红色文本:
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/