Tee-Object
Uloží výstup příkazu do souboru nebo proměnné a také ho odešle do kanálu.
Syntax
Tee-Object
[-InputObject <PSObject>]
[-FilePath] <String>
[-Append]
[<CommonParameters>]
Tee-Object
[-InputObject <PSObject>]
-LiteralPath <String>
[<CommonParameters>]
Tee-Object
[-InputObject <PSObject>]
-Variable <String>
[<CommonParameters>]
Description
Rutina Tee-Object přesměruje výstup, to znamená, že odesílá výstup příkazu dvěma směry (například písmenem T). Uloží výstup do souboru nebo proměnné a také ho odešle do kanálu. Pokud je Tee-Object posledním příkazem v kanálu, zobrazí se výstup příkazu na příkazovém řádku.
Příklady
Příklad 1: Výstup procesů do souboru a do 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. Vzhledem k tomu, že není zadána druhá cesta, zobrazí se v konzole také procesy.
Příklad 2: Výstup procesů 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 se výsledné objekty předá na 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ýstup systémových souborů 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 objektu Tee-Object, který seznam připojí k souboru AllSystemFiles.txt a předá seznam kanálem rutině 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 zaveden v Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FilePath
Určuje soubor, který tato rutina uloží objekt na zástupné znaky jsou povoleny, ale musí být přeloženy do jednoho souboru.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-InputObject
Určuje objekt, který se má uložit a zobrazit. Zadejte proměnnou, která obsahuje objekty, nebo zadejte příkaz nebo výraz, který objekty získá. Objekt můžete také nakreslit do objektu Tee-Object.
Při použití parametru InputObject s Tee-Object, místo propojení výsledků příkazu do Tee-Object, hodnota InputObject-i v případě, že hodnota je kolekce, která je výsledkem příkazu, například InputObject (Get-Process)
- je považován za jeden objekt.
Vzhledem k tomu , že InputObject nemůže vrátit jednotlivé vlastnosti z pole nebo kolekce objektů, je doporučeno, pokud použijete Tee-Object k provádění operací s kolekcí objektů pro objekty, které mají specifické hodnoty v definovaných vlastnostech, použít Tee-Object v kanálu, jak je znázorněno v příkladech v tomto tématu.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-LiteralPath
Určuje soubor, do kterého tato rutina uloží objekt. Na rozdíl od FilePath se hodnota parametru LiteralPath používá přesně tak, jak je zadána. Žádné znaky nejsou interpretovány jako zástupné znaky. Pokud cesta obsahuje řídicí znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, že nemá interpretovat žádné znaky jako řídicí sekvence.
Type: | String |
Aliases: | PSPath |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Variable
Určuje proměnnou, do které rutina uloží objekt. Zadejte název proměnné bez předchozího znaku dolaru ($).
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Vstupy
Objekty můžete do objektu Tee-Object převést.
Výstupy
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í, které uloží výstup do souboru, ale neodesílají ho kanálem.
- 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átovaný v souborech s jiným kódováním. K určení kódování použijte rutinu Out-File.