Write-Output
Skriver de angivna objekten till pipelinen.
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 lyckade dataström. Om du vill skicka felobjekt till felströmmen 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 shell-program 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. Till exempel motsvarar Get-Process | Write-Output
Get-Process
. Eller så kan echo "Home directory: $HOME"
skrivas "Home directory: $HOME"
.
Som standard räknar Write-Output
upp objekt i en samling. Men Write-Output
kan också skicka samlingar ned 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
till konsolen.
$P = Get-Process
Write-Output $P
Exempel 2: Skicka utdata till en annan cmdlet
Det här kommandot dirigerar 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åt i pipelinen. Ange en variabel som innehåller objekten eller skriv ett kommando eller uttryck som hämtar objekten.
Typ: | PSObject[] |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-NoEnumerate
Som standard räknar Write-Output
-cmdleten alltid upp sina utdata. Parametern NoEnumerate undertrycker standardbeteendet och förhindrar Write-Output
från att räkna upp utdata. Parametern NoEnumerate har ingen effekt om kommandot är omslutet i parenteser, eftersom parenteserna framtvingar uppräkning. Till exempel räknar (Write-Output 1,2,3 -NoEnumerate)
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 till Out-Default
i slutet av varje kommandorad, vilket resulterar i uppräkning. Men om du dirigerar Write-Output -NoEnumerate
till en annan cmdlet tar den underordnade cmdleten emot samlingsobjektet, inte samlingsobjektens uppräknade objekt.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Du kan skicka objekt till den här cmdleten.
Utdata
Den här cmdleten returnerar de objekt som skickas som indata.
Kommentarer
PowerShell innehåller följande alias för Write-Output
:
Alla plattformar:
echo
Windows:
write