Write-Host
Zapisuje přizpůsobený výstup do hostitele.
Syntaxe
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
Description
Primárním Write-Host
účelem rutiny je vytvořit výstup jen pro zobrazení (hostitele), například tisk barevného textu, jako je při zobrazení výzvy uživatele ke vstupu ve spojení s hostitelem pro čtení. Write-Host
používá ToString() metoda k zápisu výstupu. Naproti tomu k výstupu dat do kanálu použijte výstup zápisu nebo implicitní výstup.
Barvu textu můžete zadat pomocí parametru ForegroundColor
a pomocí parametru BackgroundColor
můžete zadat barvu pozadí. Parametr Oddělovač umožňuje zadat řetězec, který se má použít k oddělení zobrazených objektů. Konkrétní výsledek závisí na programu, který hostuje PowerShell.
Poznámka:
Počínaje windows PowerShellem 5.0 je obálka, Write-Host
Write-Information
která umožňuje vygenerovat Write-Host
výstup do informačního datového proudu. To umožňuje zachytávání nebo potlačení dat zapsaných pomocí Write-Host
při zachování zpětné kompatibility.
Proměnná $InformationPreference
předvoleb a InformationAction
společný parametr nemají vliv na Write-Host
zprávy. Výjimkou tohoto pravidla je -InformationAction Ignore
, který efektivně potlačuje Write-Host
výstup. (viz "Příklad 5")
Příklady
Příklad 1: Zápis do konzoly bez přidání nového řádku
Write-Host "no newline test " -NoNewline
Write-Host "second string"
no newline test second string
Tento příkaz zobrazí řetězec no newline test s parametrem NoNewline
.
Druhý řetězec se zapíše, ale skončí na stejném řádku jako první kvůli absenci nového řádku oddělující řetězce.
Příklad 2: Zápis do konzoly a zahrnutí oddělovače
Write-Host (2,4,6,8,10,12) -Separator ", +2= "
2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12
Tento příkaz zobrazí sudá čísla ze dvou až dvanácti. Parametr Oddělovač se používá k přidání řetězce , +2=
(čárka, mezera, +
, 2
, =
mezera).
Příklad 3: Psaní s různými barvami textu a pozadí
Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White
2, -> 4, -> 6, -> 8, -> 10, -> 12
Tento příkaz zobrazí sudá čísla ze dvou až dvanácti. Tento parametr používá k výstupu ForegroundColor
tmavě zeleného BackgroundColor
textu a parametru k zobrazení bílého pozadí.
Příklad 4: Psaní s různými barvami textu a pozadí
Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white
Red on white text.
Tento příkaz zobrazí řetězec "Červený na bílém textu". Text je červený, jak je definován parametrem ForegroundColor
. Pozadí je bílé, jak je definováno parametrem BackgroundColor
.
Příklad 5: Potlačení výstupu z hostitele pro zápis
# 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
Tyto příkazy efektivně potlačí výstup rutiny Write-Host
. První používá InformationAction
parametr s Ignore
hodnotou k potlačení výstupu do informačního streamu.
Druhý příklad přesměruje informační proud příkazu na proměnnou $null
a potlačuje ho. Další informace najdete v tématu about_Output_Streams.
Parametry
-BackgroundColor
Určuje barvu pozadí. Neexistuje výchozí nastavení. Tento parametr přijímá tyto hodnoty:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Typ: | ConsoleColor |
Přípustné hodnoty: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-ForegroundColor
Určuje barvu textu. Neexistuje výchozí nastavení. Tento parametr přijímá tyto hodnoty:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Typ: | ConsoleColor |
Přípustné hodnoty: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-NoNewline
Řetězcové reprezentace vstupních objektů jsou zřetězeny tak, aby vytvořily výstup. Mezi výstupní řetězce se nevkládají žádné mezery ani nové čáry. Za poslední výstupní řetězec se nepřidá žádný nový řádek.
Typ: | SwitchParameter |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Object
Objekty, které se mají zobrazit v hostiteli
Typ: | Object |
Aliasy: | Msg, Message |
Position: | 0 |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Separator
Určuje řetězec oddělovače, který se má vložit mezi objekty zobrazené hostitelem.
Typ: | Object |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
Objekty můžete zapsat do hostitele do této rutiny.
Výstupy
None
Tato rutina nevrátí žádný výstup. Odesílá objekty hostiteli. Hostitel zobrazí objekty, které tato rutina odešle.
Poznámky
Při zápisu kolekce na hostitele se prvky kolekce vytisknou na stejném řádku odděleném jedním mezerou. To lze přepsat pomocí parametru Oddělovač .
Ne primitivní datové typy, jako jsou objekty s vlastnostmi, můžou způsobit neočekávané výsledky a nedají smysluplný výstup. Například
Write-Host @{a = 1; b = 2}
se vytiskneSystem.Collections.DictionaryEntry System.Collections.DictionaryEntry
na hostitele.