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-Host
Uż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
Typ: | ConsoleColor |
Dopuszczalne wartości: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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
Typ: | ConsoleColor |
Dopuszczalne wartości: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | SwitchParameter |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-Object
Obiekty do wyświetlenia na hoście.
Typ: | Object |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Separator
Określa ciąg separatora, który ma być wstawiany między obiektami wyświetlanymi przez hosta.
Typ: | Object |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
Dane wejściowe
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 wydrukowanySystem.Collections.DictionaryEntry System.Collections.DictionaryEntry
na hoście.