Tee-Object

Fájlba vagy változóba menti a parancs kimenetét, és elküldi a folyamatnak.

Syntax

Tee-Object
   [-InputObject <PSObject>]
   [-FilePath] <String>
   [-Append]
   [[-Encoding] <Encoding>]
   [<CommonParameters>]
Tee-Object
   [-InputObject <PSObject>]
   -LiteralPath <String>
   [[-Encoding] <Encoding>]
   [<CommonParameters>]
Tee-Object
   [-InputObject <PSObject>]
   -Variable <String>
   [<CommonParameters>]

Description

A Tee-Object parancsmag átirányítja a kimenetet, azaz egy parancs kimenetét két irányban küldi el (például a T betűt). A kimenetet egy fájlban vagy változóban tárolja, és elküldi a folyamatnak. Ha Tee-Object a folyamat utolsó parancsa, a parancs kimenete megjelenik a parancssorban.

Példák

1. példa: Kimeneti folyamatok egy fájlba és a konzolra

Ez a példa lekéri a számítógépen futó folyamatok listáját, és elküldi az eredményt egy fájlnak. Mivel nincs megadva második elérési út, a folyamatok a konzolon is megjelennek.

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

2. példa: Folyamatok kimenete változóhoz és "Select-Object"

Ez a példa lekéri a számítógépen futó folyamatok listáját, menti őket a $proc változóba, és a következőre Select-Objectcsövezi őket.

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

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

A Select-Object parancsmag kiválasztja a ProcessName és a Handles tulajdonságokat. Vegye figyelembe, hogy a változó tartalmazza $proc a függvény által visszaadott Get-Processalapértelmezett információkat.

3. példa: Rendszerfájlok kimenete két naplófájlba

Ez a példa a rendszerfájlok listáját két naplófájlba, egy összegző fájlba és egy aktuális fájlba menti.

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

A parancs a Get-ChildItem parancsmag használatával rekurzív keresést végez a rendszerfájlok között a D: meghajtón. A folyamatkezelő (|) elküldi a listát Tee-Objecta AllSystemFiles.txt fájlhoz, és átadja a listát a Out-File parancsmagnak, amely menti a listát a NewSystemFiles.txt fileparancsmagba.

Paraméterek

-Append

Azt jelzi, hogy a parancsmag hozzáfűzi a kimenetet a megadott fájlhoz. A paraméter nélkül az új tartalom figyelmeztetés nélkül lecseréli a fájlban lévő összes meglévő tartalmat.

Ez a paraméter a Windows PowerShell 3.0-s kiadásban lett bevezetve.

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

-Encoding

Megadja a célfájl kódolásának típusát. Az alapértelmezett érték utf8NoBOM.

A paraméter elfogadható értékei a következők:

  • ascii: Az ASCII (7 bites) karakterkészlet kódolását használja.
  • bigendianunicode: UTF-16 formátumban kódolja a big-endian bájtsorrendet.
  • oem: Az MS-DOS és a konzolprogramok alapértelmezett kódolását használja.
  • unicode: UTF-16 formátumban kódolja a kis végű bájtsorrendet.
  • utf7: UTF-7 formátumban kódol.
  • utf8: UTF-8 formátumban kódol.
  • utf8BOM: UTF-8 formátumú kódolás bájtsorrendjellel (BOM)
  • utf8NoBOM: UTF-8 formátumú kódolás byte order mark (BOM) nélkül
  • utf32: UTF-32 formátumban kódol.

A PowerShell 6.2-től kezdődően a Kódolás paraméter a regisztrált kódlapok (például ) numerikus azonosítóit vagy a regisztrált kódlapok (például-Encoding 1251-Encoding "windows-1251") sztringneveit is lehetővé teszi. További információkért tekintse meg a Encoding.CodePage .NET-dokumentációját.

Ez a paraméter a PowerShell 7.2-ben lett bevezetve.

Megjegyzés

Az UTF-7* használata már nem ajánlott. A PowerShell 7.1-ről figyelmeztetést ír, ha utf7 megadja a Kódolás paramétert.

Type:Encoding
Accepted values:ASCII, BigEndianUnicode, OEM, Unicode, UTF7, UTF8, UTF8BOM, UTF8NoBOM, UTF32
Position:1
Default value:UTF8NoBOM
Accept pipeline input:False
Accept wildcard characters:False

-FilePath

Olyan fájlt ad meg, amelyet ez a parancsmag az objektumot helyettesítő karakterekre ment, engedélyezett, de egyetlen fájlra kell feloldania.

Type:String
Aliases:Path
Position:0
Default value:None
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

Meghatározza a menteni és megjeleníteni kívánt objektumot. Adjon meg egy változót, amely tartalmazza az objektumokat, vagy írjon be egy parancsot vagy kifejezést, amely lekéri az objektumokat. Az objektumokat át is adhatja a parancsnak Tee-Object.

Ha az InputObject paramétert Tee-Objecthasználja a parancseredmények Tee-Objectbeírása helyett, akkor az InputObject értéket egyetlen objektumként kezeli a rendszer, még akkor is, ha az érték gyűjtemény.

Type:PSObject
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-LiteralPath

Megadja azt a fájlt, amelybe a parancsmag menti az objektumot. A FilePath-tal ellentétben a LiteralPath paraméter értéke pontosan a beírt módon lesz felhasználva. A rendszer egyetlen karaktert sem értelmez helyettesítő karakterként. Ha az elérési út tartalmaz feloldó karaktereket, akkor azt szimpla idézőjelek közé kell tenni. Az egyszeres idézőjelek arra utasítják a PowerShellt, hogy ne értelmezze a karaktereket feloldósorozatként.

Type:String
Aliases:PSPath, LP
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Variable

Megadja azt a változót, amelybe a parancsmag menti az objektumot. Adjon meg egy változónevet az előző dollárjel ($) nélkül.

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Bevitelek

PSObject

Az objektumokat átadhatja a parancsnak Tee-Object.

Kimenetek

PSObject

Tee-Object A visszaadja az átirányított objektumot.

Jegyzetek

Használhatja a Out-File parancsmagot vagy az átirányítási operátort is, amelyek mindegyike fájlba menti a kimenetet, de nem küldi le a folyamatból.

A PowerShell 6-tól Tee-Object kezdve a BOM-less UTF-8 kódolást használja, amikor fájlokat ír. Ha más kódolásra van szüksége, használja a Out-File parancsmagot a Kódolás paraméterrel.