Write-Host
Hiermee schrijft u aangepaste uitvoer naar een host.
Syntax
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
Description
Het primaire doel van de Write-Host
cmdlet is het produceren van alleen-(host)-weergave-uitvoer, 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 wilt uitvoeren naar de pijplijn, gebruikt u Write-Output of impliciete uitvoer.
U kunt de kleur van tekst 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 PowerShell host.
Notitie
Vanaf Windows PowerShell 5.0 Write-Host
is een wrapper voor Write-Information
Hiermee kunt u uitvoer Write-Host
verzenden naar de informatiestroom. Dit maakt het mogelijk om gegevens die zijn geschreven met behulp Write-Host
van vast te leggen of te onderdrukken, met behoud van compatibiliteit met eerdere versies.
De $InformationPreference
voorkeursvariabele en InformationAction
algemene parameter hebben geen invloed op Write-Host
berichten. De uitzondering op deze regel is -InformationAction Ignore
, waardoor uitvoer effectief wordt Write-Host
onderdrukt. (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 'no newline test' met de NoNewline
parameter weergegeven.
Er wordt een tweede tekenreeks geschreven, maar deze eindigt op dezelfde regel als de eerste vanwege het ontbreken van een nieuwe regel die de tekenreeksen scheidt.
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 uitvoer naar de informatiestroom te onderdrukken.
In het tweede voorbeeld wordt de informatiestroom van de opdracht omgeleid naar de $null
variabele en wordt deze onderdrukt. Zie about_Output_Streams voor meer informatie.
Parameters
-BackgroundColor
Hiermee geeft u de achtergrondkleur. Er is geen standaardwaarde. 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 |
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
Hiermee geeft u de tekstkleur op. Er is geen standaardwaarde. 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 |
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
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 |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Object
Objecten die moeten worden weergegeven in de host.
Type: | Object |
Aliases: | Msg, Message |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Separator
Hiermee geeft u een scheidingstekenreeks in te voegen tussen objecten die worden weergegeven door de host.
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Invoerwaarden
U kunt objecten die naar de host moeten worden geschreven, doorsluisen naar deze cmdlet.
Uitvoerwaarden
None
Deze cmdlet retourneert geen uitvoer. De objecten worden naar de host verzonden. De host geeft de objecten weer die deze cmdlet naar de cmdlet verzendt.
Notities
Wanneer u een verzameling naar de host schrijft, worden elementen van de verzameling op dezelfde regel afgedrukt, 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.