Write-Host

Zapisuje dostosowane dane wyjściowe na hoście.

Składnia

Write-Host
     [[-Object] <Object>]
     [-NoNewline]
     [-Separator <Object>]
     [-ForegroundColor <ConsoleColor>]
     [-BackgroundColor <ConsoleColor>]
     [<CommonParameters>]

Opis

Podstawowym Write-Host celem polecenia cmdlet jest wygenerowanie danych wyjściowych tylko do wyświetlania(hosta), takich jak drukowanie kolorowego tekstu, na przykład podczas monitowania użytkownika o dane wejściowe w połączeniu z funkcją Read-Host. Write-HostUżywa metody ToString() do zapisania danych wyjściowych. Natomiast w celu wyprowadzania danych wyjściowych do potoku użyj funkcji Write-Output lub niejawnych danych wyjściowych.

Kolor tekstu można określić przy użyciu parametru ForegroundColor , a kolor tła można określić przy użyciu parametru BackgroundColor . Parametr Separator umożliwia określenie ciągu, który ma być używany do oddzielania wyświetlanych obiektów. Konkretny wynik zależy od programu, który hostuje program PowerShell.

Uwaga

Począwszy od programu Windows PowerShell 5.0, Write-Host jest otoką Write-Information , która umożliwia emisję Write-Host danych wyjściowych do strumienia informacji. Umożliwia to przechwytywanie lub pomijanie zapisanych danych przy jednoczesnym Write-Host zachowaniu zgodności z poprzednimi wersjami.

Zmienna $InformationPreference preferencji i InformationAction wspólny parametr nie mają wpływu na Write-Host komunikaty. Wyjątkiem od tej reguły jest -InformationAction Ignore, co skutecznie pomija Write-Host dane wyjściowe. Zobacz przykład

Przykłady

Przykład 1: Zapisywanie w konsoli bez dodawania nowego wiersza

Write-Host "no newline test " -NoNewline
Write-Host "second string"

no newline test second string

To polecenie wyświetla ciąg "no newline test" z parametrem NoNewline .

Drugi ciąg jest zapisywany, ale kończy się na tym samym wierszu co pierwszy ze względu na brak nowego wiersza oddzielającego ciągi.

Przykład 2. Zapisywanie w konsoli i dołączanie separatora

Write-Host (2,4,6,8,10,12) -Separator ", +2= "

2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12

To polecenie wyświetla liczby parzyse z dwóch do dwunastu. Parametr Separator służy do dodawania ciągu , +2= (przecinek, spacja, +, 2, =spacja).

Przykład 3. Zapisywanie przy użyciu różnych kolorów tekstu i tła

Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White

2, -> 4, -> 6, -> 8, -> 10, -> 12

To polecenie wyświetla liczby parzyse z dwóch do dwunastu. Używa parametru ForegroundColor do wyprowadzania ciemnego zielonego tekstu i parametru BackgroundColor w celu wyświetlenia białego tła.

Przykład 4. Zapisywanie przy użyciu różnych kolorów tekstu i tła

Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white

Red on white text.

To polecenie wyświetla ciąg "Czerwony w białym tekście". Tekst jest czerwony, zgodnie z definicją parametru ForegroundColor . Tło jest białe, zgodnie z definicją parametru BackgroundColor .

Przykład 5. Pomijanie danych wyjściowych z hosta zapisu

# 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

Te polecenia skutecznie pomijają dane wyjściowe Write-Host polecenia cmdlet. Pierwszy używa parametru InformationAction z wartością , Ignore aby pominąć dane wyjściowe strumienia informacji. Drugi przykład przekierowuje strumień informacji polecenia do zmiennej $null , a tym samym pomija go. Aby uzyskać więcej informacji, zobacz about_Output_Strumienie.

Parametry

-BackgroundColor

Określa kolor tła. Wartość domyślna to nie. Dopuszczalne wartości tego parametru to:

  • 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

Określa kolor tekstu. Wartość domyślna to nie. Dopuszczalne wartości tego parametru to:

  • 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

Reprezentacje ciągów obiektów wejściowych są łączone w celu utworzenia danych wyjściowych. Między ciągami wyjściowymi nie są wstawione spacje ani nowe linie. Nie dodano nowego wiersza po ostatnim ciągu danych wyjściowych.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Object

Obiekty do wyświetlenia na hoście.

Type:Object
Aliases:Msg, Message
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Separator

Określa ciąg separatora, który ma być wstawiany między obiektami wyświetlanymi przez hosta.

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

Object

Można potokować obiekty, które mają być zapisywane na hoście w tym poleceniu cmdlet.

Dane wyjściowe

None

To polecenie cmdlet nie zwraca żadnych danych wyjściowych. Wysyła on obiekty do hosta. Host wyświetla obiekty, które wysyła do niego to polecenie cmdlet.

Uwagi

  • Podczas zapisywania kolekcji na hoście elementy kolekcji są drukowane w tym samym wierszu oddzielonym pojedynczą spacją. Można to zastąpić parametrem Separator .

  • Typy danych inne niż pierwotne, takie jak obiekty z właściwościami, mogą powodować nieoczekiwane wyniki i nie dostarczać znaczących danych wyjściowych. Na przykład Write-Host @{a = 1; b = 2} zostanie wydrukowany System.Collections.DictionaryEntry System.Collections.DictionaryEntry na hoście.