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 účelem rutiny Write-Host
je vytvořit výstup jen pro zobrazení (hostitel), například tisk barevného textu, například při zobrazení výzvy k zadání vstupu uživatele ve spojení s read-host .
Write-Host
k zápisu výstupu používá metodu ToString(). Naproti tomu k výstupním datům do kanálu použijte výstupu zápisu nebo implicitní výstup.
Barvu textu můžete zadat pomocí parametru ForegroundColor
a barvu pozadí můžete zadat pomocí parametru BackgroundColor
. 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 Write-Host
obálka pro Write-Information
To umožňuje použít Write-Host
k vygenerování výstupu do informačního datového proudu. To umožňuje zachycení nebo potlačení dat zapsaných pomocí Write-Host
a zachování zpětné kompatibility.
Proměnná předvoleb $InformationPreference
a InformationAction
společný parametr neovlivňují 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č slouží k přidání řetězcového , +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. Používá ForegroundColor
parametr k výstupu tmavě zeleného textu a parametr BackgroundColor
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 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
Tyto příkazy efektivně potlačí výstup rutiny Write-Host
. První používá parametr InformationAction
s hodnotou Ignore
k potlačení výstupu do informačního streamu.
Druhý příklad přesměruje informační proud příkazu na $null
proměnnou a potlačuje ho. Další informace najdete v tématu about_Output_Streams.
Parametry
-BackgroundColor
Určuje barvu pozadí. Neexistuje výchozí nastavení. Přijatelné hodnoty pro tento parametr jsou:
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í. Přijatelné hodnoty pro tento parametr jsou:
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}
vytiskneSystem.Collections.DictionaryEntry System.Collections.DictionaryEntry
hostiteli.