Write-Host
Schreibt angepasste Ausgabe an einen Host.
Syntax
Write-Host
[[-Object] <Object>]
[-NoNewline]
[-Separator <Object>]
[-ForegroundColor <ConsoleColor>]
[-BackgroundColor <ConsoleColor>]
[<CommonParameters>]
Beschreibung
Der Write-Host
Hauptzweck des Cmdlets besteht darin, nur für(Host)-Anzeigeausgaben zu erzeugen, z. B. das Drucken von farbigem Text, z. B. wenn der Benutzer in Verbindung mit Read-Host zur Eingabe aufgefordert wird.
Write-Host
verwendet die ToString() -Methode, um die Ausgabe zu schreiben. Im Gegensatz dazu verwenden Sie write-Output oder implizite Ausgabe, um Daten an die Pipeline auszugeben.
Sie können die Farbe des Texts mithilfe des ForegroundColor
-Parameters angeben, und Sie können die Hintergrundfarbe mithilfe des BackgroundColor
-Parameters angeben. Mit dem Separator-Parameter können Sie eine Zeichenfolge angeben, die zum Trennen der angezeigten Objekte verwendet werden soll. Das jeweilige Ergebnis hängt vom Programm ab, das PowerShell hosten soll.
Hinweis
Ab Windows PowerShell 5.0 Write-Host
ist ein Wrapper für Write-Information
This ermöglicht es Ihnen, Write-Host
die Ausgabe an den Informationsstream auszugeben. Dies ermöglicht die Erfassung oder Unterdrückung von mit geschriebenen Write-Host
Daten, während die Abwärtskompatibilität erhalten bleibt.
Die $InformationPreference
Einstellungsvariable und InformationAction
der allgemeine Parameter wirken sich nicht auf Nachrichten aus Write-Host
. Die Ausnahme von dieser Regel ist , wodurch die Ausgabe effektiv unterdrückt Write-Host
wird-InformationAction Ignore
. (siehe "Beispiel 5")
Beispiele
Beispiel 1: Schreiben in die Konsole ohne Hinzufügen einer neuen Zeile
Write-Host "no newline test " -NoNewline
Write-Host "second string"
no newline test second string
Dieser Befehl zeigt die Zeichenfolge "no newline test" mit dem NoNewline
Parameter an.
Eine zweite Zeichenfolge wird geschrieben, aber sie endet in derselben Zeile wie die erste, da keine Zeilenumbruchzeile zwischen den Zeichenfolgen vorhanden ist.
Beispiel 2: Schreiben in die Konsole und Einschließen eines Trennzeichens
Write-Host (2,4,6,8,10,12) -Separator ", +2= "
2, +2= 4, +2= 6, +2= 8, +2= 10, +2= 12
Dieser Befehl zeigt die geraden Zahlen zwischen zwei und zwölf an. Der Separator-Parameter wird verwendet, um die Zeichenfolge , +2=
(Komma, Leerzeichen, +
, 2
, =
, Leerzeichen) hinzuzufügen.
Beispiel 3: Schreiben mit unterschiedlichen Text- und Hintergrundfarben
Write-Host (2,4,6,8,10,12) -Separator ", -> " -ForegroundColor DarkGreen -BackgroundColor White
2, -> 4, -> 6, -> 8, -> 10, -> 12
Dieser Befehl zeigt die geraden Zahlen zwischen zwei und zwölf an. Es verwendet den ForegroundColor
Parameter, um dunkelgrünen Text auszugeben, und der BackgroundColor
Parameter, um einen weißen Hintergrund anzuzeigen.
Beispiel 4: Schreiben mit unterschiedlichen Text- und Hintergrundfarben
Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white
Red on white text.
Dieser Befehl zeigt die Zeichenfolge "Rot auf weißem Text" an. Der Text ist rot, wie durch den ForegroundColor
Parameter definiert. Der Hintergrund ist weiß, wie durch den BackgroundColor
-Parameter definiert.
Beispiel 5: Unterdrücken der Ausgabe von 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
Diese Befehle unterdrücken effektiv die Ausgabe des Write-Host
Cmdlets. Die erste verwendet den InformationAction
Parameter mit dem Wert, um die Ignore
Ausgabe an den Informationsstream zu unterdrücken.
Im zweiten Beispiel wird der Informationsstream des Befehls an die $null
Variable umgeleitet und dadurch unterdrückt.
Parameter
-BackgroundColor
Gibt die Hintergrundfarbe an. Es gibt keinen Standardwert. Zulässige Werte für diesen Parameter:
- Schwarz
- DarkBlue
- DarkGreen
- DarkCyan
- DarkRed
- DarkMagenta
- DarkYellow
- Grau
- DarkGray
- Blau
- Grün
- Cyan
- Red
- Magenta
- Gelb
- Weiß
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
Gibt die Textfarbe an. Es gibt keinen Standardwert. Zulässige Werte für diesen Parameter:
- Schwarz
- DarkBlue
- DarkGreen
- DarkCyan
- DarkRed
- DarkMagenta
- DarkYellow
- Grau
- DarkGray
- Blau
- Grün
- Cyan
- Red
- Magenta
- Gelb
- Weiß
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
Die Zeichenfolgendarstellungen der Eingabeobjekte werden verkettet, um die Ausgabe zu bilden. Zwischen den Ausgabezeichenfolgen werden keine Leerzeichen oder Zeileneinbrüche eingefügt. Nach der letzten Ausgabezeichenfolge wird kein Zeilenumbruch hinzugefügt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Object
Objekte, die auf dem Host angezeigt werden sollen.
Type: | Object |
Aliases: | Msg, Message |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Separator
Gibt eine Trennzeichenfolge an, die zwischen objekten eingefügt werden soll, die vom Host angezeigt werden.
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
Sie können die an den Host zu schreibenden Objekte weiterreichen.
Ausgaben
None
Write-Host
sendet die -Objekte an den Host. und gibt keine Objekte zurück. Der Host zeigt jedoch die Objekte an, die Write-Host
an ihn gesendet werden.
Hinweise
Beim Schreiben einer Auflistung auf den Host werden Elemente der Auflistung in derselben Zeile gedruckt, getrennt durch ein einziges Leerzeichen. Dies kann mit dem Parameter Separator überschrieben werden.
Nicht primitive Datentypen wie Objekte mit Eigenschaften können zu unerwarteten Ergebnissen führen und keine aussagekräftige Ausgabe bereitstellen. Wird z.
Write-Host @{a = 1; b = 2}
B. auf dem Host ausgegebenSystem.Collections.DictionaryEntry System.Collections.DictionaryEntry
.