Sdílet prostřednictvím


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

Object

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} vytiskne System.Collections.DictionaryEntry System.Collections.DictionaryEntry hostiteli.