Tee-Object
Uloží výstup příkazu do souboru nebo proměnné a odešle ho také do kanálu.
Syntax
File (Výchozí)
Tee-Object
[-FilePath] <String>
[-InputObject <PSObject>]
[-Append]
[<CommonParameters>]
LiteralFile
Tee-Object
-LiteralPath <String>
[-InputObject <PSObject>]
[<CommonParameters>]
Variable
Tee-Object
-Variable <String>
[-InputObject <PSObject>]
[<CommonParameters>]
Description
Rutina Tee-Object přesměruje výstup, tj. odešle výstup příkazu ve dvou směrech (například písmeno T). Uloží výstup do souboru nebo proměnné a také ho odešle do kanálu. Pokud Tee-Object je posledním příkazem v kanálu, zobrazí se na příkazovém řádku výstup příkazu.
Příklady
Příklad 1: Výstupní procesy do souboru a konzoly
PS C:\> Get-Process | Tee-Object -FilePath "C:\Test1\testfile2.txt"
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
83 4 2300 4520 39 0.30 4032 00THotkey
272 6 1400 3944 34 0.06 3088 alg
81 3 804 3284 21 2.45 148 ApntEx
81 4 2008 5808 38 0.75 3684 Apoint
...
Tento příkaz získá seznam procesů spuštěných v počítači a odešle výsledek do souboru. Protože není zadána druhá cesta, procesy se také zobrazí v konzole.
Příklad 2: Výstupní procesy do proměnné a Select-Object
PS C:\> Get-Process notepad | Tee-Object -Variable proc | Select-Object processname,handles
ProcessName Handles
----------- -------
notepad 43
notepad 37
notepad 38
notepad 38
Tento příkaz získá seznam procesů spuštěných v počítači a odešle výsledek do proměnné s názvem proc. Potom předá výsledné objekty podél Select-Object, která vybere ProcessName a Handles vlastnost. Všimněte si, že proměnná $proc obsahuje výchozí informace vrácené procesem Get-Process.
Příklad 3: Výstupní systémové soubory do dvou souborů protokolu
PS C:\> Get-ChildItem -Path D: -File -System -Recurse | Tee-Object -FilePath "c:\test\AllSystemFiles.txt" -Append | Out-File c:\test\NewSystemFiles.txt
Tento příkaz uloží seznam systémových souborů do dvou souborů protokolu, kumulativního souboru a aktuálního souboru.
Příkaz používá rutinu Get-ChildItem k rekurzivnímu vyhledávání systémových souborů na jednotce D: . Operátor kanálu (|) odešle seznam do Tee-Object, který seznam připojí k souboru AllSystemFiles.txt a předá seznam do rutiny Out-File, která seznam uloží do souboru NewSystemFiles.txt.
Parametry
-Append
Označuje, že rutina připojí výstup k zadanému souboru. Bez tohoto parametru nahradí nový obsah veškerý existující obsah v souboru bez upozornění.
Tento parametr byl představen ve Windows PowerShellu 3.0.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
File
| 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 |
-FilePath
Určuje soubor, který tato rutina uloží objekt do zástupných znaků, ale musí se přeložit na jeden soubor.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
File
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-InputObject
Určuje objekt, který se má uložit a zobrazit. Zadejte proměnnou obsahující objekty nebo zadejte příkaz nebo výraz, který objekty získá. Objekt můžete také Tee-Object.
Pokud použijete InputObject parametr s Tee-Object, místo piping command results to Tee-Object, InputObject value-i v případě, že hodnota je kolekce, která je výsledkem příkazu, například InputObject (Get-Process)-je považována za jeden objekt.
Vzhledem k tomu, že InputObject nemůže vracet jednotlivé vlastnosti z pole nebo kolekce objektů, doporučujeme použít Tee-Object provádět operace s kolekcí objektů pro tyto objekty, které mají určité hodnoty v definovaných vlastnostech, použijete Tee-Object v kanálu, jak je znázorněno v příkladech v tomto tématu.
Vlastnosti parametru
| Typ: | PSObject |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-LiteralPath
Určuje soubor, do kterého tato rutina uloží objekt. Na rozdíl od FilePathse hodnota parametru LiteralPath používá přesně tak, jak je zadán. Žádný znak není interpretován jako zástupný znak. Pokud cesta obsahuje únikové znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby žádné znaky neinterpretoval jako únikové sekvence.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | PSPath |
Sady parametrů
LiteralFile
| Position: | Named |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Variable
Určuje proměnnou, do které rutina uloží objekt. Zadejte název proměnné bez předchozího znaku dolaru ($).
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
Variable
| Position: | Named |
| Povinné: | True |
| 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 lze Tee-Object.
Výstupy
PSObject
Tee-Object vrátí objekt, který přesměruje.
Poznámky
- Můžete také použít rutinu Out-File nebo operátor přesměrování, z nichž oba ukládají výstup do souboru, ale neodesílají ho do kanálu.
- Tee-Object používá kódování Unicode při zápisu do souborů. V důsledku toho nemusí být výstup správně naformátován v souborech s jiným kódováním. K určení kódování použijte rutinu Out-File.