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, eine nur für(host)-display-only-Ausgabe zu erzeugen, z. B. farbigen Text zu drucken, z. B. wenn der Benutzer zur Eingabe in Verbindung mit Read-Host aufgefordert wird. Write-Host
verwendet die ToString()- Methode, um die Ausgabe zu schreiben. Verwenden Sie zum Ausgeben von Daten an die Pipeline dagegen Write-Output oder 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 Write-Host
ist ein Wrapper für Write-Information
. Auf diese Weise können Sie Write-Host
die Ausgabe für den Informationsdatenstrom ausgeben. Dadurch wird die Erfassung oder Unterdrückung von Daten ermöglicht, die mithilfe Write-Host
von Abwärtskompatibilität geschrieben wurden.
Die Einstellungsvariable $InformationPreference
und InformationAction
der allgemeine Parameter wirken sich nicht auf Nachrichten aus Write-Host
. Die Ausnahme dieser Regel ist -InformationAction Ignore
, wodurch die Ausgabe effektiv unterdrückt wird 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
Mit diesem Befehl wird die Zeichenfolge "No newline test" mit dem NoNewline
Parameter angezeigt.
Eine zweite Zeichenfolge wird geschrieben, aber sie endet auf derselben Zeile wie die erste aufgrund des Fehlens einer neuen Zeile, 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, +
, 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
Mit diesem Befehl werden die geraden Zahlen von zwei bis zwölf angezeigt. Er verwendet den ForegroundColor
Parameter zum Ausgeben von dunkelgrünem Text und dem BackgroundColor
Parameter zum Anzeigen eines weißen Hintergrunds.
Beispiel 4: Schreiben mit unterschiedlichen Text- und Hintergrundfarben
Write-Host "Red on white text." -ForegroundColor red -BackgroundColor white
Red on white text.
Mit diesem Befehl wird die Zeichenfolge "Rot auf weißem Text" angezeigt. 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 vom 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 Ignore
Wert verwendet, um die Ausgabe für den Informationsdatenstrom zu unterdrücken.
Im zweiten Beispiel wird der Informationsstrom des Befehls an die $null
Variable umgeleitet und dadurch unterdrückt. Weitere Informationen finden Sie unter about_Output_Streams.
Parameter
-BackgroundColor
Gibt die Hintergrundfarbe an. Es gibt keinen Standardwert. Zulässige Werte für diesen Parameter:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Typ: | ConsoleColor |
Zulässige Werte: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ForegroundColor
Gibt die Textfarbe an. Es gibt keinen Standardwert. Zulässige Werte für diesen Parameter:
Black
DarkBlue
DarkGreen
DarkCyan
DarkRed
DarkMagenta
DarkYellow
Gray
DarkGray
Blue
Green
Cyan
Red
Magenta
Yellow
White
Typ: | ConsoleColor |
Zulässige Werte: | Black, DarkBlue, DarkGreen, DarkCyan, DarkRed, DarkMagenta, DarkYellow, Gray, DarkGray, Blue, Green, Cyan, Red, Magenta, Yellow, White |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-NoNewline
Die Zeichenfolgendarstellungen der Eingabeobjekte werden verkettet, um die Ausgabe zu bilden. Zwischen den Ausgabezeichenfolgen werden keine Leerzeichen oder Newlines eingefügt. Nach der letzten Ausgabezeichenfolge wird keine Neue zeile hinzugefügt.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Object
Objekte, die auf dem Host angezeigt werden sollen.
Typ: | Object |
Aliase: | Msg, Message |
Position: | 0 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-Separator
Gibt eine Trennzeichenfolge an, die zwischen objekten eingefügt werden soll, die vom Host angezeigt werden.
Typ: | Object |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
Sie können Objekte weiterleiten, die an diesen Host geschrieben werden sollen.
Ausgaben
None
Dieses Cmdlet gibt keine Ausgabe zurück. Sie sendet die Objekte an den Host. Der Host zeigt die Objekte an, die dieses Cmdlet an das Cmdlet sendet.
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 zu unerwarteten Ergebnissen führen und keine aussagekräftige Ausgabe bereitstellen. Wird z. B
Write-Host @{a = 1; b = 2}
. auf dem Host gedrucktSystem.Collections.DictionaryEntry System.Collections.DictionaryEntry
.