Aracılığıyla paylaş


Tee-Object

Komut çıkışını bir dosyaya veya değişkene kaydeder ve işlem hattına gönderir.

Syntax

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

Description

Tee-Object Cmdlet çıkışı yeniden yönlendirir, yani bir komutun çıkışını iki yönde (T harfi gibi) gönderir. Çıkışı bir dosyada veya değişkende depolar ve ayrıca işlem hattına gönderir. İşlem hattındaki son komut ise Tee-Object komut çıkışı istemde görüntülenir.

Örnekler

Örnek 1: Bir dosyaya ve konsola çıkış işlemleri

Bu örnek, bilgisayarda çalışan işlemlerin listesini alır ve sonucu bir dosyaya gönderir. İkinci bir yol belirtilmediğinden, işlemler konsolunda da görüntülenir.

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

Örnek 2: Bir değişken ve 'Select-Object' için çıkış işlemleri

Bu örnek, bilgisayarda çalışan işlemlerin bir listesini alır, bunları değişkenine $proc kaydeder ve öğesine Select-Objectkanallar.

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

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

cmdlet'i Select-ObjectProcessName ve Handles özelliklerini seçer. değişkeninin $proc tarafından Get-Processdöndürülen varsayılan bilgileri içerdiğini unutmayın.

Örnek 3: Sistem dosyalarını iki günlük dosyasına çıkış yapma

Bu örnek, sistem dosyalarının listesini iki günlük dosyasına, bir kümülatif dosyaya ve geçerli bir dosyaya kaydeder.

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

komut, D: sürücüsündeki Get-ChildItem sistem dosyaları için özyinelemeli bir arama yapmak için cmdlet'ini kullanır. İşlem hattı işleci (|), listeyi Tee-ObjectAllSystemFiles.txt dosyasına ekleyen ve listeyi işlem hattından cmdlet'ine Out-File geçirerek listeyi dosyasına NewSystemFiles.txt filekaydeden öğesine gönderir.

Parametreler

-Append

Cmdlet'in çıkışı belirtilen dosyaya eklediğini gösterir. Bu parametre olmadan, yeni içerik dosyadaki mevcut içeriğin yerini uyarı olmadan alır.

Bu parametre Windows PowerShell 3.0'da tanıtıldı.

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

-FilePath

Bu cmdlet'in nesneyi Joker karakterlere kaydettiği bir dosyaya izin verilir, ancak tek bir dosyaya çözümlenmesi gerekir.

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

-InputObject

Kaydedilecek ve görüntülenecek nesneyi belirtir. Nesneleri içeren bir değişken girin veya nesneleri alan bir komut veya ifade yazın. Ayrıca bir nesneyi öğesine Tee-Objectde yöneltebilirsiniz.

komutu sonuçları Tee-Objectyerine ile Tee-ObjectInputObject parametresini kullandığınızda, değer bir koleksiyon olsa bile InputObject değeri tek bir nesne olarak kabul edilir.

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

-LiteralPath

Bu cmdlet'in nesneyi kaydettiği dosyayı belirtir. FilePath'in aksine, LiteralPath parametresinin değeri tam olarak yazıldığı gibi kullanılır. Hiçbir karakter joker karakter olarak yorumlanmamıştır. Yol kaçış karakterleri içeriyorsa, bunu tek tırnak içine alın. Tek tırnak işaretleri PowerShell'e hiçbir karakteri kaçış dizisi olarak yorumlamaması gerektiğini söyler.

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

-Variable

Cmdlet'in nesneyi kaydettiği bir değişken belirtir. Önceki dolar işareti$ ( ) olmadan bir değişken adı girin.

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

Girişler

PSObject

Nesneleri öğesine Tee-Objectyöneltebilirsiniz.

Çıkışlar

PSObject

Tee-Object yeniden yönlendirildiği nesneyi döndürür.

Notlar

Ayrıca cmdlet'ini Out-File veya yeniden yönlendirme işlecini de kullanabilirsiniz. Her ikisi de çıkışı bir dosyaya kaydeder ancak işlem hattına göndermez.

PowerShell 6'da başlayarak dosyalara Tee-Object yazarken BOM olmayan UTF-8 kodlamasını kullanır. Farklı bir kodlamaya ihtiyacınız varsa Kodlama parametresiyle cmdlet'ini kullanınOut-File.