Udostępnij za pośrednictwem


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

Głównym 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 wprowadzenie danych wejściowych w połączeniu z hostem odczytu. Write-Host używa metody ToString(), aby zapisać dane wyjściowe. W przeciwieństwie do danych wyjściowych potoku użyj danych wyjściowych 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 obsługującego program PowerShell.

Uwaga

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

Zmienna $InformationPreference preferencji i InformationAction wspólny parametr nie wpływają na Write-Host komunikaty. Wyjątek od tej reguły to -InformationAction Ignore, który skutecznie pomija Write-Host dane wyjściowe. (zobacz "Przykład 5")

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 od dwóch do dwunastu. Parametr Separator służy do dodawania ciągu , +2= (przecinek, spacja, +, 2, =spacja).

Przykład 3. Pisanie 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 od 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. Pisanie 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 na 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 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

Te polecenia skutecznie pomijają dane wyjściowe Write-Host polecenia cmdlet. Pierwszy używa parametru InformationAction z wartością Ignore do pomijania danych wyjściowych strumienia informacji. Drugi przykład przekierowuje strumień informacji polecenia do zmiennej $null , a tym samym pomija go.

Parametry

-BackgroundColor

Określa kolor tła. Brak wartości domyślnej. Dopuszczalne wartości dla tego parametru to:

  • Czarnoskórzy
  • Darkblue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • Darkmagenta
  • DarkYellow
  • Szary
  • DarkGray
  • Blue (Niebieski)
  • Green (Zielony)
  • Błękitny
  • Red (Czerwony)
  • Magenta
  • Yellow
  • Biały
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. Brak wartości domyślnej. Dopuszczalne wartości dla tego parametru to:

  • Czarnoskórzy
  • Darkblue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • Darkmagenta
  • DarkYellow
  • Szary
  • DarkGray
  • Blue (Niebieski)
  • Green (Zielony)
  • Błękitny
  • Red (Czerwony)
  • Magenta
  • Yellow
  • Biały
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. Żadne spacje ani nowe linie nie są wstawiane między ciągami wyjściowymi. 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 do wstawiania 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

Do hosta można zapisywać obiekty potokowe.

Dane wyjściowe

None

Write-Host wysyła obiekty do hosta. Nie zwraca żadnych obiektów. Jednak host wyświetla obiekty, które Write-Host są do niego wysyłane.

Uwagi

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

  • Typy danych innych 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.