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 främsta syfte är att skapa utdata endast för (värd)-visning, till exempel utskrift av färgad text som när användaren uppmanas att ange indata tillsammans med Read-Host. Write-Hostanvä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 separera visade objekt. Det specifika resultatet beror på vilket program som är värd för PowerShell.

Kommentar

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 generera utdata till informationsströmmen. Detta möjliggör insamling eller undertryckning av data som skrivs med samtidigt Write-Host som bakåtkompatibilitet bevaras.

Inställningsvariabeln $InformationPreference och InformationAction den vanliga parametern påverkar Write-Host inte meddelanden. Undantaget till den här regeln är -InformationAction Ignore, som 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 jämna tal 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 jämna tal 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: Skriv 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 kommandots informationsström till variabeln $null och undertrycker den därmed. Mer information finns i about_Output_Flöden.

Parametrar

-BackgroundColor

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

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White
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:

  • Black
  • DarkBlue
  • DarkGreen
  • DarkCyan
  • DarkRed
  • DarkMagenta
  • DarkYellow
  • Gray
  • DarkGray
  • Blue
  • Green
  • Cyan
  • Red
  • Magenta
  • Yellow
  • White
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 radrutor 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änsarsträ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 till den här cmdleten.

Utdata

None

Den här cmdleten returnerar inga utdata. Den skickar objekten till värden. Värden visar de objekt som den här cmdleten 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. Till exempel Write-Host @{a = 1; b = 2} skrivs ut System.Collections.DictionaryEntry System.Collections.DictionaryEntry till värden.