Wysyła określone obiekty do następnego polecenia w potoku. Jeśli polecenie jest ostatnim poleceniem w potoku, obiekty są wyświetlane w konsoli.
Składnia
Opis
Polecenie cmdlet Write-Output
wysyła określony obiekt w dół potoku do następnego polecenia. Jeśli polecenie jest ostatnim poleceniem w potoku, obiekt jest wyświetlany w konsoli.
Write-Output
wysyła obiekty w dół potoku głównego, znanego również jako „strumień wyjściowy” lub „potok sukcesu”. Aby wysłać obiekty błędów w dół potoku błędów, użyj Write-Error.
To polecenie cmdlet jest zwykle używane w skryptach do wyświetlania ciągów znaków i innych obiektów w konsoli. Jeden z wbudowanych aliasów dla Write-Output
to echo
i podobny do innych powłok, które używają echo
, domyślnym zachowaniem jest wyświetlanie danych wyjściowych na końcu potoku. W PowerShell generalnie nie jest konieczne używanie cmdletu w przypadkach, gdy dane wyjściowe są wyświetlane domyślnie. Na przykład Get-Process | Write-Output
jest odpowiednikiem Get-Process
. Lub echo "Home directory: $HOME"
można napisać "Home directory: $HOME"
.
Domyślnie Write-Output
wylicza przez kolekcje dostarczone do polecenia cmdlet. Jednak Write-Output
może być również używany do przekazywania kolekcji w dół potoku jako pojedynczy obiekt z parametremNoEnumerate.
Przykłady
Przykład 1: Pobierz obiekty i zapisz je w konsoli
Pierwsze polecenie pobiera procesy działające na komputerze i zapisuje je w $P
zmienna.
Drugie i trzecie polecenie wyświetlają obiekty procesu w $P
na konsoli.
Przykład 2: Przekaż dane wyjściowe do innego polecenia cmdlet
To polecenie przekazuje ciąg znaków „test output” do polecenia cmdlet Get-Member
, które wyświetla członków klasy System.String, demonstrując, że ciąg został przekazany w potoku.
Przykład 3: pominięcie wyliczenia w danych wyjściowych
To polecenie dodaje parametr NoEnumerate, aby traktować kolekcję lub tablicę jako pojedynczy obiekt w potoku.
Parametry
Określa obiekty do przesłania potokiem. Wprowadź zmienną zawierającą obiekty lub wpisz polecenie lub wyrażenie pobierające obiekty.
Wpisz: | PSObject |
Stanowisko: | 0 |
Wartość domyślna: | Brak |
Akceptuj dane wejściowe potoku: | True |
Akceptuj symbole wieloznaczne: | Fałsz |
Domyślnie Write-Output
cmdlet zawsze wylicza swoje wyjście. Parametry NoEnumerate blokują domyślne zachowanie i uniemożliwiają Write-Output
wyliczanie danych wyjściowych. ParametrNoEnumerate nie działa, jeśli polecenie jest umieszczone w nawiasach, ponieważ theparentheses wymusza wyliczenie. Na przykład (Write-Output 1,2,3)
nadal wylicza tablicę.
Uwaga
Ten przełącznik działa poprawnie tylko z PowerShell Core 6.2 i nowszymi. W starszych wersjach programu PowerShell Core kolekcja jest nadal wyliczana, nawet przy użyciu tego przełącznika.
Type: | SwitchParameter |
Position: | Named |
Wartość domyślna: | Brak |
Akceptuj dane wejściowe potoku: | False |
Akceptuj symbole wieloznaczne: | Fałsz |
Dane wejściowe
PSObject
Możesz potokuj obiekty do Write-Output
.
Wyjścia
PSObject
Write-Output
zwraca obiekty, które są przesłane jako dane wejściowe.
- about_Output_Streams
- about_Redirection
- Tee-Object
- Write-Debug
- Błąd zapisu
- Host zapisu
- Informacje-zapisu
- Postęp zapisu
- Zapis-pełny
- Ostrzeżenie przed zapisem