Write-Host
Hiermee schrijft u aangepaste uitvoer naar een host.
Syntaxis
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
Description
Het Write-Host
primaire doel van de cmdlet is om alleen-(host)-display-only-uitvoer te produceren, zoals het afdrukken van gekleurde tekst, zoals wanneer de gebruiker wordt gevraagd om invoer in combinatie met Read-Host. Write-Host
gebruikt de methode ToString() om de uitvoer te schrijven. Als u daarentegen gegevens naar de pijplijn wilt uitvoeren, gebruikt u Write-Output of impliciete uitvoer.
U kunt de tekstkleur opgeven met behulp van de ForegroundColor
parameter en u kunt de achtergrondkleur opgeven met behulp van de BackgroundColor
parameter. Met de parameter Scheidingsteken kunt u een tekenreeks opgeven die moet worden gebruikt om weergegeven objecten te scheiden. Het specifieke resultaat is afhankelijk van het programma dat als host fungeert voor PowerShell.
Notitie
Vanaf Windows PowerShell 5.0 Write-Host
is dit een wrapper voor Write-Information
. Hiermee kunt u Write-Host
uitvoer verzenden naar de informatiestroom. Dit maakt het vastleggen of onderdrukken van gegevens mogelijk die zijn geschreven met Write-Host
behoud van achterwaartse compatibiliteit.
De $InformationPreference
voorkeursvariabele en InformationAction
de algemene parameter hebben geen invloed op Write-Host
berichten. De uitzondering op deze regel is -InformationAction Ignore
, waardoor uitvoer effectief wordt onderdrukt Write-Host
. (zie 'Voorbeeld 5')
Voorbeelden
Voorbeeld 1: Schrijven naar de console zonder een nieuwe regel toe te voegen
Write-Host "no newline test " -NoNewline
Write-Host "second string"
no newline test second string
Met deze opdracht wordt de tekenreeks 'geen nieuwelijntest' weergegeven met de NoNewline
parameter.
Een tweede tekenreeks wordt geschreven, maar eindigt op dezelfde regel als de eerste vanwege het ontbreken van een nieuwe regel tussen de tekenreeksen.
Voorbeeld 2: Schrijven naar de console en een scheidingsteken opnemen
Write-Host (2,4,6,8,10,12) -Separator ", +2= "
2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12
Met deze opdracht worden de even getallen van twee tot en met twaalf weergegeven. De parameter Scheidingsteken wordt gebruikt om de tekenreeks , +2=
(komma, spatie, +
, 2
, =
spatie) toe te voegen.
Voorbeeld 3: Schrijven met verschillende tekst- en achtergrondkleuren
Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White
2, -> 4, -> 6, -> 8, -> 10, -> 12
Met deze opdracht worden de even getallen van twee tot en met twaalf weergegeven. De parameter wordt gebruikt ForegroundColor
om donkergroene tekst uit te voeren en de BackgroundColor
parameter om een witte achtergrond weer te geven.
Voorbeeld 4: Schrijven met verschillende tekst- en achtergrondkleuren
Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white
Red on white text.
Met deze opdracht wordt de tekenreeks 'Rood op witte tekst' weergegeven. De tekst is rood, zoals gedefinieerd door de ForegroundColor
parameter. De achtergrond is wit, zoals gedefinieerd door de BackgroundColor
parameter.
Voorbeeld 5: Uitvoer van Write-Host onderdrukken
# 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
Met deze opdrachten wordt de uitvoer van de Write-Host
cmdlet effectief onderdrukt. De eerste gebruikt de InformationAction
parameter met de Ignore
waarde om de uitvoer naar de informatiestroom te onderdrukken.
In het tweede voorbeeld wordt de informatiestroom van de opdracht omgeleid naar de $null
variabele, waardoor deze wordt onderdrukt. Zie about_Output_Streams voor meer informatie.
Parameters
-BackgroundColor
Hiermee geeft u de achtergrondkleur. Er is geen standaardinstelling. De aanvaardbare waarden voor deze parameter zijn:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Type: | ConsoleColor |
Geaccepteerde waarden: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ForegroundColor
Hiermee geeft u de tekstkleur op. Er is geen standaardinstelling. De aanvaardbare waarden voor deze parameter zijn:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Type: | ConsoleColor |
Geaccepteerde waarden: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-NoNewline
De tekenreeksweergaven van de invoerobjecten worden samengevoegd om de uitvoer te vormen. Er worden geen spaties of nieuwe regels ingevoegd tussen de uitvoertekenreeksen. Er wordt geen nieuwe regel toegevoegd na de laatste uitvoertekenreeks.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Object
Objecten die in de host moeten worden weergegeven.
Type: | Object |
Aliassen: | Msg, Message |
Position: | 0 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-Separator
Hiermee geeft u een scheidingstekenreeks op die moet worden ingevoegd tussen objecten die door de host worden weergegeven.
Type: | Object |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
U kunt objecten doorsluisen die naar de host naar deze cmdlet moeten worden geschreven.
Uitvoerwaarden
None
Deze cmdlet retourneert geen uitvoer. De objecten worden naar de host verzonden. De host geeft de objecten weer die door deze cmdlet worden verzonden.
Notities
Bij het schrijven van een verzameling naar de host worden elementen van de verzameling afgedrukt op dezelfde regel, gescheiden door één spatie. Dit kan worden overschreven met de parameter Scheidingsteken .
Niet-primitieve gegevenstypen, zoals objecten met eigenschappen, kunnen onverwachte resultaten veroorzaken en geen zinvolle uitvoer bieden. Wordt bijvoorbeeld
Write-Host @{a = 1; b = 2}
afgedruktSystem.Collections.DictionaryEntry System.Collections.DictionaryEntry
naar de host.