Как вывести жирный текст в powershell? - PullRequest
5 голосов
/ 06 марта 2020

У меня есть Powershell скрипт, который выполняет некоторые автоматические c процедуры, я использую «Write-Host» в конце каждой из них, чтобы сообщить техническому пользователю, что шаг завершен, но Я понимаю, что это довольно сложно читать и отслеживать, поэтому: ¿Есть ли способ вывести жирный текст?

Заранее спасибо.

Ответы [ 3 ]

4 голосов
/ 06 марта 2020

Просто формулировка ...
При взгляде из командлета 'ConvertFrom-MarkDown` (входит в PowerShell 6 и выше), полужирный текст на самом деле существует:
(используя цветовую схему PowerShell по умолчанию)

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

enter image description here

Но это не совсем справедливо, как за кадром, это вопрос игры с цветами. Зная, что цвет переднего плана по умолчанию - Gray, а White - это немного проще, и поэтому выглядит Жирным шрифтом .
Это означает, что приведенное выше утверждение похоже на:

Write-Host 'This is ' -NoNewline; Write-Host -ForegroundColor White 'Bold ' -NoNewline; Write-Host 'Text'
2 голосов
/ 07 марта 2020

См. Также:

Последовательности виртуального терминала консоли

Начиная с PowerShell 5.1, консоль PowerShell поддерживает escape-последовательности 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'

... то есть, если вы не загружал или не может загружать и использовать внешний материал.

2 голосов
/ 06 марта 2020

Насколько я знаю, это невозможно, но вы можете изменить цвет переднего плана и цвет фона текста. Таким образом, вы можете выводить текст разными цветами, чтобы выделить ошибку или предупреждение.


Отображается красный текст:

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/

...