Tee-Object

Salva a saída do comando em um arquivo ou variável e a envia pelo pipeline.

Syntax

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

Description

O Tee-Object cmdlet redireciona a saída, ou seja, envia a saída de um comando em duas direções (como a letra T). Ele armazena a saída em um arquivo ou variável e também a envia pelo pipeline. Se Tee-Object for o último comando no pipeline, a saída do comando será exibida no prompt.

Exemplos

Exemplo 1: processos de saída para um arquivo e para o console

Este exemplo obtém uma lista dos processos em execução no computador e envia o resultado para um arquivo. Como um segundo caminho não foi especificado, os processos também são exibidos no console.

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

Exemplo 2: Processos de saída para uma variável e 'Select-Object'

Este exemplo obtém uma lista dos processos em execução no computador, salva-os na $proc variável e os direciona para Select-Object.

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

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

O Select-Object cmdlet seleciona as propriedades ProcessName e Handles . Observe que a $proc variável inclui as informações padrão retornadas por Get-Process.

Exemplo 3: arquivos do sistema de saída para dois arquivos de log

Este exemplo salva uma lista de arquivos do sistema em dois arquivos de log, um arquivo cumulativo e um arquivo atual.

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

O comando usa o Get-ChildItem cmdlet para fazer uma pesquisa recursiva para arquivos do sistema na unidade D: . Um operador de pipeline (|) envia a lista, Tee-Objectque acrescenta a lista ao arquivo AllSystemFiles.txt e passa a lista para baixo do pipeline para o Out-File cmdlet, que salva a lista no arquivo NewSystemFiles.txt.

Parâmetros

-Append

Indica que o cmdlet acrescenta a saída ao arquivo especificado. Sem esse parâmetro, o novo conteúdo substitui todo o conteúdo existente no arquivo sem aviso.

Este parâmetro foi introduzido no Windows PowerShell 3.0.

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

-FilePath

Especifica um arquivo que esse cmdlet salva o objeto em caracteres curinga são permitidos, mas deve ser resolvido em um único arquivo.

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

-InputObject

Especifica o objeto a ser salvo e exibido. Insira uma variável que contém os objetos ou digite um comando ou uma expressão que obtém os objetos. Você também pode canalizar um objeto para Tee-Object.

Quando você usa o parâmetro InputObject com Tee-Object, em vez de canalizar resultados de comando para Tee-Object, o valor InputObject é tratado como um único objeto, mesmo que o valor seja uma coleção.

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

-LiteralPath

Especifica um arquivo no qual esse cmdlet salva o objeto. Ao contrário do FilePath, o valor do parâmetro LiteralPath é usado exatamente como ele é digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, coloque-o entre aspas simples. As aspas simples dizem ao PowerShell para não interpretar nenhum caractere como sequências de escape.

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

-Variable

Especifica uma variável na qual o cmdlet salva o objeto. Insira um nome de variável sem o sinal de dólar anterior ($).

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

Entradas

PSObject

Você pode canalizar objetos para Tee-Object.

Saídas

PSObject

Tee-Object retorna o objeto que ele redireciona.

Observações

Você também pode usar o Out-File cmdlet ou o operador de redirecionamento, que salvam a saída em um arquivo, mas não o enviam para baixo do pipeline.

A partir do PowerShell 6, Tee-Object usa a codificação UTF-8 sem BOM quando grava em arquivos. Se você precisar de uma codificação diferente, use o Out-File cmdlet com o parâmetro de codificação .