Write-Host
Записывает настраиваемые выходные данные на узел.
Синтаксис
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
Описание
Основной целью командлета Write-Host
является создание выходных данных только для отображения(host), таких как печать цветного текста, например при появлении запроса пользователя на ввод в сочетании с read-Host.
Write-Host
использует метод ToString() для записи выходных данных. Напротив, для вывода данных в конвейер используйте записи или неявные выходные данные.
Можно указать цвет текста с помощью параметра ForegroundColor
, и можно указать цвет фона с помощью параметра BackgroundColor
. Параметр разделителя позволяет указать строку, используемую для разделения отображаемых объектов. Конкретный результат зависит от программы, в которой размещается PowerShell.
Заметка
Начиная с Windows PowerShell 5.0, Write-Host
— это оболочка для Write-Information
это позволяет использовать Write-Host
для передачи выходных данных в поток информации. Это позволяет записывать или подавление данных, записанных с помощью Write-Host
при сохранении обратной совместимости.
Переменная предпочтения $InformationPreference
и InformationAction
общий параметр не влияют на сообщения 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. Подавление выходных данных из Write-Host
# 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 |
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