Write-Output
Zapíše zadané objekty do roury.
Syntaxe
Default (Výchozí)
Write-Output
[-InputObject] <PSObject[]>
[-NoEnumerate]
[<CommonParameters>]
Description
Zapíše zadané objekty do roury. Pokud je Write-Output posledním příkazem v pipelině, zobrazí se v konzole objekty.
Write-Output odesílá objekty do primárního kanálu, označovaného také jako úspěšný tok . Chcete-li odeslat chybové objekty do datového proudu chyb, použijte Write-Error.
Tato rutina se obvykle používá ve skriptech k zobrazení řetězců a dalších objektů v konzole. Jeden z vestavěných aliasů pro Write-Output je echo a je podobný jiným shellům používajícím echo. Výchozím chováním je zobrazení výstupu na konci kanálu. V PowerShellu obvykle není nutné používat cmdlet v případech, kdy je výstup zobrazen automaticky. Například Get-Process | Write-Output je ekvivalentní s Get-Process. Nebo echo "Home directory: $HOME" lze psát jako "Home directory: $HOME".
Ve výchozím nastavení Write-Output čísluje objekty v kolekci.
Write-Output ale může také předat kolekce dolů potrubím jako jeden objekt s parametrem NoEnumerate.
Příklady
Příklad 1: Získání objektů a jejich zápis do konzoly
V tomto příkladu jsou výsledky rutiny Get-Process uloženy v proměnné $P. Cmdlet Write-Output zobrazí objekty procesu v $P na konzoli.
$P = Get-Process
Write-Output $P
Příklad 2: Předat výstup do jiného cmdletu
Tento příkaz předá řetězec "test output" přes rutinu Get-Member, která zobrazí členy třídy System.String, což demonstruje, že řetězec byl předán v rámci kanálu.
Write-Output "test output" | Get-Member
Příklad 3: Potlačení výčtu ve výstupu
Tento příkaz přidá parametr NoEnumerate pro zacházení s kolekcí nebo polem jako s jediným objektem prostřednictvím pipeliny.
Write-Output 1,2,3 | Measure-Object
Count : 3
...
Write-Output 1,2,3 -NoEnumerate | Measure-Object
Count : 1
...
Parametry
-InputObject
Určuje objekty, které se mají odeslat do potrubí. Zadejte proměnnou, která obsahuje objekty, nebo zadejte příkaz nebo výraz, který objekty získá.
Vlastnosti parametru
| Typ: | PSObject[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-NoEnumerate
Ve výchozím nastavení rutina Write-Output vždy vytvoří výčet výstupu. Parametr NoEnumerate potlačí výchozí chování a zabraňuje Write-Output výčtu výstupu. Parametr NoEnumerate nemá žádný vliv, pokud je příkaz zabalený do závorek, protože závorky vynucují výčet. Například (Write-Output 1,2,3 -NoEnumerate) stále vyčísluje pole.
Parametr NoEnumerate je užitečný pouze v rámci pipeliny. Pokus o zobrazení efektů NoEnumerate v konzole je problematický, protože PowerShell přidá Out-Default na konec každého příkazového řádku, což vede k výčtu. Pokud ale přesměrujete Write-Output -NoEnumerate do jiného cmdletu, následující cmdlet obdrží objekt kolekce, nikoli jednotlivé položky kolekce.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
PSObject
Objekty můžete předávat tomuto cmdletu.
Výstupy
PSObject
Tato rutina vrátí objekty odeslané jako vstup.
Poznámky
PowerShell obsahuje následující aliasy pro Write-Output:
Všechny platformy:
echo
Windows:
write