Write-Host
Записывает пользовательские выходные данные в узел.
Синтаксис
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
Описание
Основная Write-Host
цель командлета — создавать выходные данные только для (host)-display, такие как печать цветного текста, например при запросе ввода данных пользователем в сочетании с Read-Host. Write-Host
использует метод ToString() для записи выходных данных. Для вывода данных в конвейер, напротив, используйте write-output или неявные выходные данные.
Цвет текста можно указать с помощью ForegroundColor
параметра , а цвет фона — с помощью BackgroundColor
параметра . Параметр Separator позволяет указать строку, которая будет использоваться для разделения отображаемых объектов. Конкретный результат зависит от программы, в котором размещается 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
Эта команда отображает строку 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
Эта команда отображает четные числа от двух до двенадцати. Параметр Separator используется для добавления строки , +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
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
Определяет цвет текста. Значение по умолчанию отсутствует. Допустимые значения для этого параметра:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
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
Этот командлет не возвращает выходные данные. Он отправляет объекты на узел. Узел отображает объекты, отправляемые этим командлетом.
Примечания
При записи коллекции на узел элементы коллекции печатаются в одной строке, разделенной одним пробелом. Его можно переопределить с помощью параметра Separator .
Не примитивные типы данных, такие как объекты со свойствами, могут привести к непредвиденным результатам и не дать значимых выходных данных. Например,
Write-Host @{a = 1; b = 2}
будет выводитьSystem.Collections.DictionaryEntry System.Collections.DictionaryEntry
на узел.