Поделиться через


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

Входные данные

Object

Вы можете передать объекты для записи на узел в этот командлет.

Выходные данные

None

Этот командлет не возвращает выходные данные. Он отправляет объекты на узел. Узел отображает объекты, отправляемые этим командлетом.

Примечания

  • При записи коллекции на узел элементы коллекции печатаются в одной строке, разделенной одним пробелом. Его можно переопределить с помощью параметра Separator .

  • Не примитивные типы данных, такие как объекты со свойствами, могут привести к непредвиденным результатам и не дать значимых выходных данных. Например, Write-Host @{a = 1; b = 2} будет выводить System.Collections.DictionaryEntry System.Collections.DictionaryEntry на узел.