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. Aby uzyskać więcej informacji, zobacz about_Output_Streams.

Parametry

-BackgroundColor

Określa kolor tła. Brak wartości domyślnej. Dopuszczalne wartości dla 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. Brak wartości domyślnej. Dopuszczalne wartości dla 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. Ż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 tego polecenia cmdlet można pisać obiekty potokowe, które mają być zapisywane na hoście.

Dane wyjściowe

None

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

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.