Write-Host

Skriver anpassade utdata till en värd.

Syntax

Write-Host
     [[-Object] <Object>]
     [-NoNewline]
     [-Separator <Object>]
     [-ForegroundColor <ConsoleColor>]
     [-BackgroundColor <ConsoleColor>]
     [<CommonParameters>]

Description

Cmdletens Write-Host primära syfte är att skapa for-(host)-display-only-utdata, till exempel att skriva ut färgad text som när användaren uppmanas att ange indata tillsammans med Read-Host. Write-Host använder metoden ToString() för att skriva utdata. Om du däremot vill mata ut data till pipelinen använder du Write-Output eller implicita utdata.

Du kan ange textfärgen med hjälp av parametern ForegroundColor och du kan ange bakgrundsfärgen med hjälp av parametern BackgroundColor . Med parametern Avgränsare kan du ange en sträng som ska användas för att avgränsa visade objekt. Det specifika resultatet beror på vilket program som är värd för PowerShell.

Anteckning

Från och med Windows PowerShell 5.0 Write-Host är en omslutning för Write-Information Detta gör att du kan använda Write-Host för att skicka utdata till informationsströmmen. Detta möjliggör avbildning eller undertryckning av data som skrivs med Write-Host samtidigt som bakåtkompatibilitet bevaras.

Inställningsvariabeln $InformationPreference och InformationAction den gemensamma parametern påverkar Write-Host inte meddelanden. Undantaget till den här regeln är -InformationAction Ignore, vilket effektivt undertrycker Write-Host utdata. (se "Exempel 5")

Exempel

Exempel 1: Skriv till konsolen utan att lägga till en ny rad

Write-Host "no newline test " -NoNewline
Write-Host "second string"

no newline test second string

Det här kommandot visar strängen "no newline test" med parametern NoNewline .

En andra sträng skrivs, men den hamnar på samma rad som den första på grund av att det inte finns någon ny rad som avgränsar strängarna.

Exempel 2: Skriv till konsolen och inkludera en avgränsare

Write-Host (2,4,6,8,10,12) -Separator ", +2= "

2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12

Det här kommandot visar de jämna talen från två till tolv. Parametern Avgränsare används för att lägga till strängen , +2= (kommatecken, blanksteg, +, 2, =, blanksteg).

Exempel 3: Skriva med olika text- och bakgrundsfärger

Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White

2, -> 4, -> 6, -> 8, -> 10, -> 12

Det här kommandot visar de jämna talen från två till tolv. Den använder parametern ForegroundColor för att mata ut mörkgrön text och parametern BackgroundColor för att visa en vit bakgrund.

Exempel 4: Skriva med olika text- och bakgrundsfärger

Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white

Red on white text.

Det här kommandot visar strängen "Röd på vit text". Texten är röd enligt parametern ForegroundColor . Bakgrunden är vit, enligt parametern BackgroundColor .

Exempel 5: Utelämna utdata från 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

Dessa kommandon utelämnar effektivt utdata från cmdleten Write-Host . Den första använder parametern InformationAction med Ignore Värdet för att utelämna utdata till informationsströmmen. Det andra exemplet omdirigerar informationsströmmen för kommandot till variabeln $null och undertrycker den därmed.

Parametrar

-BackgroundColor

Anger bakgrundsfärgen. Det finns inget standardvärde. De acceptabla värdena för den här parametern är:

  • Svart
  • Mörkblå
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Grå
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Gul
  • Vit
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

Anger textfärgen. Det finns inget standardvärde. De acceptabla värdena för den här parametern är:

  • Svart
  • Mörkblå
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Grå
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Gul
  • Vit
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

Strängrepresentationerna av indataobjekten sammanfogas för att bilda utdata. Inga blanksteg eller nya raderingar infogas mellan utdatasträngarna. Ingen ny rad läggs till efter den senaste utdatasträngen.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Object

Objekt som ska visas i värden.

Type:Object
Aliases:Msg, Message
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Separator

Anger en avgränsningssträng som ska infogas mellan objekt som visas av värden.

Type:Object
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

Object

Du kan skicka objekt som ska skrivas till värden.

Utdata

None

Write-Host skickar objekten till värden. Inga objekt returneras. Värden visar dock de objekt som Write-Host skickar till den.

Kommentarer

  • När du skriver en samling till värden skrivs elementen i samlingen ut på samma rad avgränsade med ett enda blanksteg. Detta kan åsidosättas med parametern Separator .

  • Icke-primitiva datatyper, till exempel objekt med egenskaper, kan orsaka oväntade resultat och inte ge meningsfulla utdata. Skriver till exempel Write-Host @{a = 1; b = 2} ut System.Collections.DictionaryEntry System.Collections.DictionaryEntry till värden.