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
primäre Zweck des Cmdlets besteht darin, die ausgabe nur für(host)-display-only zu erzeugen, z. B. beim Drucken von farbigem Text, z. B. beim Aufrufen des Benutzers zur Eingabe in Verbindung mit Read-Host.
Write-Host
verwendet die ToString() -Methode, um die Ausgabe zu schreiben. Verwenden Sie zum Ausgeben von Daten in die Pipeline die Schreibausgabe oder die implizite Ausgabe.
Sie können die Textfarbe 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 ist ein Wrapper dafürWrite-Information
, Write-Host
dass Sie die Write-Host
Ausgabe an den Informationsstream senden können. Dies ermöglicht die Erfassung oder Unterdrückung von Daten, die mithilfe Write-Host
von Daten geschrieben wurden, während die Abwärtskompatibilität beibehalten wird.
Die Einstellungsvariable und InformationAction
der $InformationPreference
allgemeine Parameter wirken sich nicht auf Nachrichten ausWrite-Host
. Die Ausnahme dieser Regel ist -InformationAction Ignore
, die die Ausgabe effektiv unterdrückt Write-Host
. (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 "keine Newlinetest" mit dem NoNewline
Parameter an.
Eine zweite Zeichenfolge wird geschrieben, aber sie endet auf derselben Zeile wie die erste, weil eine neue Zeile nicht vorhanden ist, die die Zeichenfolgen trennt.
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
Mit diesem Befehl werden die geraden Zahlen von zwei bis zwölf angezeigt. Der Parameter Separator wird verwendet, um die Zeichenfolge , +2=
(Komma, Leerzeichen, +
, Leerzeichen, 2
Leerzeichen, =
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
Mit diesem Befehl werden die geraden Zahlen von zwei bis zwölf angezeigt. Er verwendet den ForegroundColor
Parameter, um dunklen grünen Text und den BackgroundColor
Parameter zum Anzeigen eines weißen Hintergrunds auszugeben.
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 die Ausgabe des Write-Host
Cmdlets effektiv. Im ersten wird der InformationAction
Parameter mit dem Wert verwendet, um die Ignore
Ausgabe im Informationsstrom zu unterdrücken.
Im zweiten Beispiel wird der Informationsstrom 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 Neulinien eingefügt. Nach der letzten Ausgabezeichenfolge wird keine Neue Zeile hinzugefügt.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Object
Objekte, die im 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 in den Host werden Elemente der Auflistung in derselben Zeile gedruckt, die durch ein einzelnes Leerzeichen getrennt ist. Dies kann mit dem Parameter Separator überschrieben werden.
Nicht primitive Datentypen wie Objekte mit Eigenschaften können unerwartete Ergebnisse verursachen und keine aussagekräftige Ausgabe bereitstellen. Wird beispielsweise
Write-Host @{a = 1; b = 2}
auf den Host gedrucktSystem.Collections.DictionaryEntry System.Collections.DictionaryEntry
.