Tee-Object

Menyimpan output perintah dalam file atau variabel dan juga mengirimkannya ke bawah alur.

Sintaks

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

Deskripsi

Tee-Object Cmdlet mengalihkan output, yaitu mengirimkan output perintah dalam dua arah (seperti huruf T). Ini menyimpan output dalam file atau variabel dan juga mengirimkannya ke bawah alur. Jika Tee-Object adalah perintah terakhir dalam alur, output perintah ditampilkan pada prompt.

Contoh

Contoh 1: Output memproses ke file dan ke konsol

Contoh ini mendapatkan daftar proses yang berjalan di komputer dan mengirim hasilnya ke file. Karena jalur kedua tidak ditentukan, proses juga ditampilkan di konsol.

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

Contoh 2: Proses output ke variabel dan 'Select-Object'

Contoh ini mendapatkan daftar proses yang berjalan di komputer, menyimpannya ke $proc variabel, dan menyalurkannya ke Select-Object.

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

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

Select-Object Cmdlet memilih properti ProcessName dan Handles. Perhatikan bahwa $proc variabel menyertakan informasi default yang dikembalikan oleh Get-Process.

Contoh 3: Output file sistem ke dua file log

Contoh ini menyimpan daftar file sistem dalam dua file log, file kumulatif dan file saat ini.

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

Perintah menggunakan Get-ChildItem cmdlet untuk melakukan pencarian rekursif untuk file sistem pada drive D: . Operator alur (|) mengirim daftar ke Tee-Object, yang menambahkan daftar ke file AllSystemFiles.txt dan meneruskan daftar ke bawah alur ke Out-File cmdlet, yang menyimpan daftar di NewSystemFiles.txt file.

Parameter

-Append

Menunjukkan bahwa cmdlet menambahkan output ke file yang ditentukan. Tanpa parameter ini, konten baru menggantikan konten yang ada dalam file tanpa peringatan.

Parameter ini diperkenalkan dalam Windows PowerShell 3.0.

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

-Encoding

Menentukan jenis pengodean untuk file target. Nilai defaultnya adalah utf8NoBOM.

Nilai yang dapat diterima untuk parameter ini adalah sebagai berikut:

  • ascii: Menggunakan pengodean untuk set karakter ASCII (7-bit).
  • bigendianunicode: Mengodekan dalam format UTF-16 menggunakan urutan byte big-endian.
  • oem: Menggunakan pengodean default untuk MS-DOS dan program konsol.
  • unicode: Mengodekan dalam format UTF-16 menggunakan urutan byte little-endian.
  • utf7: Mengodekan dalam format UTF-7.
  • utf8: Mengodekan dalam format UTF-8.
  • utf8BOM: Mengodekan dalam format UTF-8 dengan Tanda Urutan Byte (BOM)
  • utf8NoBOM: Mengodekan dalam format UTF-8 tanpa Tanda Urutan Byte (BOM)
  • utf32: Mengodekan dalam format UTF-32.

Dimulai dengan PowerShell 6.2, parameter Pengodean juga memungkinkan ID numerik halaman kode terdaftar (seperti -Encoding 1251) atau nama string halaman kode terdaftar (seperti -Encoding "windows-1251"). Untuk informasi selengkapnya, lihat dokumentasi .NET untuk Encoding.CodePage.

Parameter ini diperkenalkan di PowerShell 7.2.

Catatan

UTF-7* tidak lagi disarankan untuk digunakan. Pada PowerShell 7.1, peringatan ditulis jika Anda menentukan utf7 untuk parameter Pengodean .

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

Menentukan file yang cmdlet ini menyimpan objek ke karakter Wildcard diizinkan, tetapi harus diselesaikan ke satu file.

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

-InputObject

Menentukan objek yang akan disimpan dan ditampilkan. Masukkan variabel yang berisi objek atau ketik perintah atau ekspresi yang mendapatkan objek. Anda juga dapat menyalurkan objek ke Tee-Object.

Saat Anda menggunakan parameter InputObject dengan Tee-Object, alih-alih mempipa hasil perintah ke Tee-Object, nilai InputObject diperlakukan sebagai objek tunggal bahkan jika nilainya adalah koleksi.

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

-LiteralPath

Menentukan file tempat cmdlet ini menyimpan objek. Tidak seperti FilePath, nilai parameter LiteralPath digunakan persis seperti yang ditik. Tidak ada karakter yang ditafsirkan sebagai kartubebas. Jika jalur menyertakan karakter escape, sertakan dalam tanda kutip tunggal. Tanda kutip tunggal memberi tahu PowerShell untuk tidak menginterpretasikan karakter apa pun sebagai urutan escape.

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

-Variable

Menentukan variabel tempat cmdlet menyimpan objek. Masukkan nama variabel tanpa tanda dolar sebelumnya ($).

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

Input

PSObject

Anda dapat menyalurkan objek ke Tee-Object.

Output

PSObject

Tee-Object mengembalikan objek yang dialihkannya.

Catatan

Anda juga dapat menggunakan Out-File cmdlet atau operator pengalihan, yang keduanya menyimpan output dalam file tetapi tidak mengirimkannya ke alur.

Dimulai di PowerShell 6, Tee-Object menggunakan pengodean BOM-less UTF-8 saat menulis ke file. Jika Anda memerlukan pengodean yang berbeda, gunakan Out-File cmdlet dengan parameter Pengodean .