Write-Host
Записывает пользовательские выходные данные в узел.
Синтаксис
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
Описание
Write-Host
Основной целью командлета является создание выходных данных только для отображения(host), таких как печать цветного текста, например при появлении запроса пользователя на ввод в сочетании с Read-Host. Write-Host
использует метод ToString() для записи выходных данных. Напротив, для вывода данных в конвейер используйте выходные данные записи или неявные выходные данные.
Можно указать цвет текста с помощью ForegroundColor
параметра, и можно указать цвет фона с помощью BackgroundColor
параметра. Параметр Separator позволяет указать строку, которая будет использоваться для разделения отображаемых объектов. Конкретный результат зависит от программы, в которой размещается PowerShell.
Примечание.
Начиная с Windows PowerShell 5.0, Write-Host
это оболочка для Write-Information
. Это позволяет использовать Write-Host
для вывода выходных данных в поток информации. Это позволяет записывать или подавлять записанные данные при Write-Host
сохранении обратной совместимости.
Переменная предпочтения и InformationAction
общий $InformationPreference
параметр не влияют на Write-Host
сообщения. Исключением из этого правила является -InformationAction Ignore
то, что фактически подавляет Write-Host
выходные данные. (см. пример 5)
Примеры
Пример 1. Запись в консоль без добавления новой строки
Write-Host "no newline test " -NoNewline
Write-Host "second string"
no newline test second string
Эта команда отображает строку "нет нового теста" с параметром NoNewline
.
Вторая строка записывается, но она заканчивается на той же строке, что и первая из-за отсутствия новой строки, разделяющей строки.
Пример 2. Запись в консоль и включение разделителя
Write-Host (2,4,6,8,10,12) -Separator ", +2= "
2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12
Эта команда отображает четные числа от двух до двенадцати. Параметр разделителя используется для добавления строки (запятая , +2=
, пробел, +
, , =
2
пробел).
Пример 3. Запись с различными цветами текста и фона
Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White
2, -> 4, -> 6, -> 8, -> 10, -> 12
Эта команда отображает четные числа от двух до двенадцати. Он использует ForegroundColor
параметр для вывода темно-зеленого текста и BackgroundColor
параметра для отображения белого фона.
Пример 4. Запись с различными цветами текста и фона
Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white
Red on white text.
Эта команда отображает строку "Красный в белом тексте". Текст красный, как определено параметром ForegroundColor
. Фон является белым, как определено параметром BackgroundColor
.
Пример 5. Отключение выходных данных из узла записи
# The following two statements can be used to effectively suppress output from Write-Host
Write-Host "I won't print" -InformationAction Ignore
Write-Host "I won't print" 6> $null
Эти команды эффективно подавляют выходные данные командлета Write-Host
. Первый использует InformationAction
параметр со Ignore
значением для подавления выходных данных в поток информации.
Второй пример перенаправляет поток сведений команды в $null
переменную и тем самым подавляет его. Дополнительные сведения см. в about_Output_Streams.
Параметры
-BackgroundColor
Определяет цвет фона. Значение по умолчанию отсутствует. Допустимые значения для этого параметра:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Тип: | ConsoleColor |
Допустимые значения: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-ForegroundColor
Определяет цвет текста. Значение по умолчанию отсутствует. Допустимые значения для этого параметра:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Тип: | ConsoleColor |
Допустимые значения: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-NoNewline
Строковые представления входных объектов объединяются для формирования выходных данных. Пробелы или новые строки не вставляются между выходными строками. Новая строка не добавляется после последней выходной строки.
Тип: | SwitchParameter |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
-Object
Объекты, отображаемые на узле.
Тип: | Object |
Aliases: | Msg, Message |
Position: | 0 |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | True |
Принять подстановочные знаки: | False |
-Separator
Задает строку разделителя для вставки между объектами, отображаемыми узлом.
Тип: | Object |
Position: | Named |
Default value: | None |
Обязательно: | False |
Принять входные данные конвейера: | False |
Принять подстановочные знаки: | False |
Входные данные
Объекты можно передать на узел в этот командлет.
Выходные данные
None
Этот командлет не возвращает выходные данные. Он отправляет объекты на узел. В узле отображаются объекты, отправляемые командлетом.
Примечания
При написании коллекции на узел элементы коллекции печатаются на одной строке, разделенной одним пробелом. Это можно переопределить с помощью параметра Разделителя .
Немитивные типы данных, такие как объекты со свойствами, могут привести к непредвиденным результатам и не предоставлять значимые выходные данные. Например,
Write-Host @{a = 1; b = 2}
будет выводитьсяSystem.Collections.DictionaryEntry System.Collections.DictionaryEntry
на узел.
Связанные ссылки
PowerShell