Write-Output
Zapisuje określone obiekty w potoku. Jeśli Write-Output jest ostatnim poleceniem w potoku, obiekty są wyświetlane w konsoli programu .
Składnia
Default (domyślnie)
Write-Output
[-InputObject] <PSObject[]>
[-NoEnumerate]
[<CommonParameters>]
Opis
Zapisuje określone obiekty w potoku. Jeśli Write-Output jest ostatnim poleceniem w potoku, obiekty są wyświetlane w konsoli programu .
Write-Output wysyła obiekty do potoku podstawowego, znanego również jako "strumień wyjściowy" lub "potok powodzenia". Aby wysłać obiekty błędów do potoku błędów, użyj Write-Error.
To polecenie cmdlet jest zwykle używane w skryptach do wyświetlania ciągów i innych obiektów w konsoli programu . Jednym z wbudowanych aliasów Write-Output jest echo i podobny do innych powłok, które używają echo. Domyślne zachowanie polega na wyświetlaniu danych wyjściowych na końcu potoku. W programie PowerShell zazwyczaj nie jest konieczne używanie polecenia cmdlet w wystąpieniach, w których dane wyjściowe są domyślnie wyświetlane. Na przykład Get-Process | Write-Output jest odpowiednikiem Get-Process. Można też napisać echo "Home directory: $HOME", "Home directory: $HOME".
Domyślnie Write-Output wyliczane za pośrednictwem obiektów kolekcji. Jednak Write-Output można również użyć do przekazywania kolekcji w dół potoku jako pojedynczego obiektu z parametrem NoEnumerate.
Przykłady
Przykład 1. Pobieranie obiektów i zapisywanie ich w konsoli
W tym przykładzie wyniki polecenia cmdlet Get-Process są przechowywane w zmiennej $P. Polecenie cmdlet Write-Output wyświetla obiekty procesu w $P konsoli programu .
$P = Get-Process
Write-Output $P
Przykład 2. Przekazywanie danych wyjściowych do innego polecenia cmdlet
To polecenie potokuje ciąg "test output" do polecenia cmdlet Get-Member, które wyświetla elementy członkowskie klasy System.String, pokazując, że ciąg został przekazany wzdłuż potoku.
Write-Output "test output" | Get-Member
Przykład 3. Pomijanie wyliczenia w danych wyjściowych
To polecenie dodaje parametr NoEnumerate w celu traktowania kolekcji lub tablicy jako pojedynczego obiektu za pośrednictwem potoku.
Write-Output 1,2,3 | Measure-Object
Count : 3
...
Write-Output 1,2,3 -NoEnumerate | Measure-Object
Count : 1
...
Parametry
-InputObject
Określa obiekty do wysłania potoku. Wprowadź zmienną zawierającą obiekty lub wpisz polecenie lub wyrażenie, które pobiera obiekty.
Właściwości parametru
| Typ: | PSObject[] |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | 0 |
| Obowiązkowe: | True |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-NoEnumerate
Domyślnie polecenie cmdlet Write-Output zawsze wylicza jego dane wyjściowe. Parametr NoEnumerate pomija zachowanie domyślne i uniemożliwia Write-Output wyliczanie danych wyjściowych. Parametr NoEnumerate nie ma wpływu, jeśli polecenie jest opakowane w nawiasy, ponieważ nawiasy wymuszają wyliczenie. Na przykład (Write-Output 1,2,3) nadal wylicza tablicę.
Parametr NoEnumerate jest przydatny tylko w potoku. Próba wyświetlenia efektów NoEnumerate w konsoli jest problematyczna, ponieważ program PowerShell dodaje Out-Default na końcu każdego wiersza polecenia, co powoduje wyliczenie. Jednak jeśli potok Write-Output -NoEnumerate do innego polecenia cmdlet, podrzędne polecenie cmdlet odbiera obiekt kolekcji, a nie wyliczone elementy kolekcji.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
PSObject
Obiekty można potokować do Write-Output.
Dane wyjściowe
PSObject
Write-Output zwraca obiekty przesłane jako dane wejściowe.