Write-Output
Skriver de angivna objekten till pipelinen. Om Write-Output
är det sista kommandot i pipelinen visas objekten i konsolen.
Syntax
Write-Output
[-InputObject] <PSObject[]>
[-NoEnumerate]
[<CommonParameters>]
Description
Skriver de angivna objekten till pipelinen. Om Write-Output
är det sista kommandot i pipelinen visas objekten i konsolen.
Write-Output
skickar objekt till den primära pipelinen, även kallat "utdataströmmen" eller "lyckad pipeline". Om du vill skicka felobjekt till felpipelinen använder du Write-Error
.
Den här cmdleten används vanligtvis i skript för att visa strängar och andra objekt i konsolen. Ett av de inbyggda aliasen för Write-Output
är echo
och liknar andra gränssnitt som använder echo
. Standardbeteendet är att visa utdata i slutet av en pipeline. I PowerShell är det vanligtvis inte nödvändigt att använda cmdleten i instanser där utdata visas som standard. Get-Process | Write-Output
motsvarar till exempel Get-Process
. Eller så echo "Home directory: $HOME"
kan skrivas, "Home directory: $HOME"
.
Som standard Write-Output
räknas upp via samlingsobjekt. Write-Output
Men kan också användas för att skicka samlingar nedåt i pipelinen som ett enda objekt med parametern NoEnumerate.
Exempel
Exempel 1: Hämta objekt och skriv dem till konsolen
I det här exemplet lagras resultatet av cmdleten Get-Process
i variabeln $P
. Cmdleten Write-Output
visar processobjekten i $P
konsolen.
$P = Get-Process
Write-Output $P
Exempel 2: Skicka utdata till en annan cmdlet
Det här kommandot skickar strängen "testutdata" till cmdleten Get-Member
, som visar medlemmarna i klassen System.String , vilket visar att strängen skickades längs pipelinen.
Write-Output "test output" | Get-Member
Exempel 3: Utelämna uppräkning i utdata
Det här kommandot lägger till parametern NoEnumerate för att behandla en samling eller matris som ett enda objekt via pipelinen.
Write-Output 1,2,3 | Measure-Object
Count : 3
...
Write-Output 1,2,3 -NoEnumerate | Measure-Object
Count : 1
...
Parametrar
-InputObject
Anger vilka objekt som ska skickas ned i pipelinen. Ange en variabel som innehåller objekten eller skriv ett kommando eller uttryck som hämtar objekten.
Type: | PSObject[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NoEnumerate
Som standard räknar cmdleten Write-Output
alltid upp dess utdata. Parametern NoEnumerate undertrycker standardbeteendet och förhindrar att utdata räknas Write-Output
upp. Parametern NoEnumerate har ingen effekt om kommandot omsluts av parenteser, eftersom parenteserna tvingar uppräkning. Till exempel (Write-Output 1,2,3)
räknar fortfarande upp matrisen.
Parametern NoEnumerate är bara användbar i en pipeline. Det är problematiskt att försöka se effekterna av NoEnumerate i konsolen eftersom PowerShell lägger Out-Default
till i slutet av varje kommandorad, vilket resulterar i uppräkning. Men om du skickar till Write-Output -NoEnumerate
en annan cmdlet tar den underordnade cmdleten emot samlingsobjektet, inte de uppräknade objekten i samlingen.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indata
Du kan skicka objekt till Write-Output
.
Utdata
Write-Output
returnerar de objekt som skickas som indata.