Aracılığıyla paylaş


Tee-Object

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

Syntax

File (Varsayılan)

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

Tee-Object Cmdlet çıkışı iki yönde yazılır. Çıkışı bir dosyada veya değişkende depolar ve işlem hattına gönderir. İşlem hattındaki son komut ise Tee-Object , komut çıkışı konsolunda görüntülenir.

dahili olarak Tee-Object ve Out-File komutlarını Set-Variable kullanır. Bu komutlar WhatIf parametresini destekler. Komut Tee-ObjectWhatIf parametresini desteklemez. Ancak, WhatIf parametresini destekleyen bir betik veya işlev sarmalarsanızTee-Object, Tee-Object ve Out-File komutlarına Set-VariableWhatIf durumunu geçirir.

Örnekler

Örnek 1: Çıktı işlemleri bir dosyaya ve konsola işlenir

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şkene ve 'Select-Object' için çıkış işlemleri

Bu örnek, bilgisayarda çalışan işlemlerin listesini alır, bunları $proc değişkenine kaydeder ve Select-Object'e iletir.

Get-Process notepad | Tee-Object -Variable proc | Select-Object ProcessName, Handles
ProcessName                              Handles
-----------                              -------
notepad                                  43
notepad                                  37
notepad                                  38
notepad                                  38

Select-Object cmdlet'i ProcessName ve Handles özelliklerini seçer. $proc değişkeninin Get-Processtarafından dö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 sistem dosyaları için özyinelemeli arama yapmak için Get-ChildItem cmdlet'ini kullanır. İşlem hattı işleci (|), listeyi Tee-Objectadresine gönderir; bu işlem hattında listeyi AllSystemFiles.txt dosyasına ekler ve listeyi Out-File cmdlet'ine geçirir ve bu da listeyi NewSystemFiles.txt filekaydeder.

Örnek 4: **WhatIf** parametresiyle betikte 'Tee-Object' kullanma

Komut Tee-ObjectWhatIf parametresini desteklemez. Ancak, WhatIf parametresini destekleyen bir betik veya işlev sarmalarsanızTee-Object, Tee-ObjectWhatIf durumunu dahili olarak kullandığı ve Out-File komutlarına Set-Variable geçirir.

PS> function Test-Tee {
    [Cmdletbinding(SupportsShouldProcess)]
    Param()
    $true|tee -Variable b
    "Variable `$b is set to '$b'"
}

PS> Test-Tee

True
Variable $b is set to 'True'

PS> Test-Tee -WhatIf
True
What if: Performing the operation "Set variable" on target "Name: b Value: True".
Variable $b is set to ''

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 kullanıma sunulmuştur.

Parametre özellikleri

Tür:SwitchParameter
Default value:False
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

File
Position:Named
Zorunlu:False
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-FilePath

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

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:True
DontShow:False

Parametre kümeleri

File
Position:0
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-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. Bir nesneyi Tee-Object'e de yöneltebilirsiniz.

ile Tee-Object parametresini kullandığınızda, Tee-Objectiçin komut sonuçlarının InputObject değeri, değer bir koleksiyon olsa bile tek bir nesne olarak değerlendirilir.

Parametre özellikleri

Tür:PSObject
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

(All)
Position:Named
Zorunlu:False
İşlem hattından gelen değer:True
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-LiteralPath

Bu cmdlet'in nesneyi kaydettiği dosyayı belirtir. FilePathaksine, 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, yolu tek tırnak işaretleriyle çevreleyin. Tek tırnak işaretleri, PowerShell'in hiçbir karakteri kaçış dizisi olarak yorumlamamasını sağlar.

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False
Diğer adlar:PSPath

Parametre kümeleri

LiteralFile
Position:Named
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

-Variable

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

Parametre özellikleri

Tür:String
Default value:None
Joker karakterleri destekler:False
DontShow:False

Parametre kümeleri

Variable
Position:Named
Zorunlu:True
İşlem hattından gelen değer:False
Özellik adına göre işlem hattından gelen değer:False
Kalan bağımsız değişkenlerden elde edilen değer:False

CommonParameters

Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.

Girişler

PSObject

Nesneleri bu cmdlet'e yöneltebilirsiniz.

Çıkışlar

PSObject

Bu cmdlet yeniden yönlendirildiği nesneyi döndürür.

Notlar

Windows PowerShell, Tee-Objectiçin aşağıdaki diğer adları içerir:

  • tee

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

Tee-Object dosyalara yazarken "Unicode" (UTF-16LE) kodlamasını kullanır. Farklı bir kodlamaya ihtiyacınız varsa Out-File parametresiyle cmdlet'ini kullanın.