Sdílet prostřednictvím


Tee-Object

Uloží výstup příkazu do souboru nebo proměnné a odešle ho také 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 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

Tento příklad 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.

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
...

Příklad 2: Výstupní procesy do proměnné a Select-Object

Tento příklad získá seznam procesů spuštěných v počítači, uloží je do $proc proměnné a předá je do Select-Object.

Get-Process notepad | Tee-Object -Variable proc | Select-Object processname,handles

ProcessName                              Handles
-----------                              -------
notepad                                  43
notepad                                  37
notepad                                  38
notepad                                  38

Rutina Select-Objectvybere vlastnosti ProcessName a Handles . Všimněte si, že $proc proměnná obsahuje výchozí informace vrácené Get-Process.

Příklad 3: Výstupní systémové soubory do dvou souborů protokolu

Tento příklad uloží seznam systémových souborů do dvou souborů protokolu, kumulativního souboru a aktuálního souboru.

Get-ChildItem -Path D: -File -System -Recurse |
  Tee-Object -FilePath "c:\test\AllSystemFiles.txt" -Append |
    Out-File c:\test\NewSystemFiles.txt

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 Tee-Object, který připojí seznam k souboru AllSystemFiles.txt a předá seznam dolů kanálu do Out-File rutiny, která uloží seznam do NewSystemFiles.txt filesouboru .

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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FilePath

Určuje soubor, který tato rutina uloží objekt do zástupných znaků, ale musí se přeložit na jeden soubor.

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 obsahující objekty nebo zadejte příkaz nebo výraz, který objekty získá. Objekt můžete také pipetovat na Tee-Object.

Pokud použijete inputObject parametr s Tee-Object, místo piping command výsledky , Tee-ObjectInputObject je považována za jeden objekt, i když je hodnota kolekce.

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, aby nepřekládaly žá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

PSObject

Objekty můžete do této rutiny pipetovat.

Výstupy

PSObject

Tato rutina vrátí objekt, který přesměruje.

Poznámky

Windows PowerShell obsahuje následující aliasy pro Tee-Object:

  • tee

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 při zápisu do souborů používá kódování Unicode (UTF-16LE). Pokud potřebujete jiné kódování, použijte rutinu Out-File s parametrem Kódování .