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
Эта команда отображает строку no newline test с параметром 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
переменную и тем самым подавляет его.
Параметры
-BackgroundColor
Определяет цвет фона. Значение по умолчанию отсутствует. Допустимые значения для этого параметра:
- Черный
- DarkBlue
- DarkGreen
- DarkCyan
- DarkRed
- DarkMagenta
- DarkYellow
- Серый
- DarkGray
- Синий
- Зеленый
- Голубой
- Красный
- Пурпурный
- Желтый
- White
Type: | ConsoleColor |
Accepted values: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ForegroundColor
Определяет цвет текста. Значение по умолчанию отсутствует. Допустимые значения для этого параметра:
- Черный
- DarkBlue
- DarkGreen
- DarkCyan
- DarkRed
- DarkMagenta
- DarkYellow
- Серый
- DarkGray
- Синий
- Зеленый
- Голубой
- Красный
- Пурпурный
- Желтый
- White
Type: | ConsoleColor |
Accepted values: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NoNewline
Строковые представления входных объектов объединяются для формирования выходных данных. Пробелы или новые строки не вставляются между выходными строками. Новая строка не добавляется после последней выходной строки.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Object
Объекты, отображаемые на узле.
Type: | Object |
Aliases: | Msg, Message |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Separator
Указывает строку разделителя для вставки между объектами, отображаемыми узлом.
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Входные данные
Объекты, которые необходимо записать в хост, можно передавать по конвейеру.
Выходные данные
None
Write-Host
отправляет объекты на узел. Он не возвращает никакие объекты. Однако узел отображает объекты, отправляемые Write-Host
ему.
Примечания
При записи коллекции на узел элементы коллекции печатаются на одной строке, разделенной одним пробелом. Это можно переопределить с помощью параметра "Разделитель ".
Немитивные типы данных, такие как объекты со свойствами, могут привести к непредвиденным результатам и не предоставлять значимые выходные данные. Например,
Write-Host @{a = 1; b = 2}
будет выводитьсяSystem.Collections.DictionaryEntry System.Collections.DictionaryEntry
на узел.