Compartilhar via


Tee-Object

Salva a saída do comando em um arquivo ou variável e também a envia para baixo no pipeline.

Sintaxe

File (Default)

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

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 para baixo no 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

PS C:\> 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
...

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

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

PS C:\> Get-Process notepad | Tee-Object -Variable proc | Select-Object processname,handles
ProcessName                              Handles
-----------                              -------
notepad                                  43
notepad                                  37
notepad                                  38
notepad                                  38

Esse comando obtém uma lista dos processos em execução no computador e envia o resultado para uma variável chamada proc. Em seguida, ele redireciona os objetos resultantes para Select-Object, que seleciona a propriedade ProcessName e Handles. Observe que a variável $proc inclui as informações padrão retornadas pelo Get-Process.

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

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

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

O comando usa o cmdlet Get-ChildItem para fazer uma pesquisa recursiva de arquivos do sistema na unidade D: . Um operador de pipeline (|) envia a lista para tee-object, que acrescenta a lista ao arquivo AllSystemFiles.txt e passa a lista pelo pipeline para o cmdlet Out-File, 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 qualquer conteúdo existente no arquivo sem aviso.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

File
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:True
DontShow:False

Conjuntos de parâmetros

File
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-InputObject

Especifica o objeto a ser salvo e exibido. Insira uma variável que contenha os objetos ou digite um comando ou 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 InputObject valor, mesmo que o valor seja uma coleção que é o resultado de um comando, como InputObject (Get-Process)-é tratado como um único objeto. Como InputObject não pode retornar propriedades individuais de uma matriz ou coleção de objetos, é recomendável que, se você usar tee-object para executar operações em uma coleção de objetos para os objetos que têm valores específicos em propriedades definidas, use tee-object no pipeline, conforme mostrado nos exemplos deste tópico.

Propriedades do parâmetro

Tipo:PSObject
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-LiteralPath

Especifica um arquivo no qual esse cmdlet salva o objeto. Ao contrário do parâmetro 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. Aspas simples indicam ao PowerShell que não deve interpretar nenhum caractere como uma sequência de escape.

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:PSPath

Conjuntos de parâmetros

LiteralFile
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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 ($).

Propriedades do parâmetro

Tipo:String
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

Variable
Cargo:Named
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

PSObject

Você pode redirecionar objetos para tee-object.

Saídas

PSObject

tee-object retorna o objeto que redireciona.

Observações

  • Você também pode usar o cmdlet Out-File ou o operador de redirecionamento, que salvam a saída em um arquivo, mas não o enviam pelo pipeline.
  • tee-object usa a codificação Unicode quando grava em arquivos. Como resultado, a saída pode não ser formatada corretamente em arquivos com uma codificação diferente. Para especificar a codificação, use o cmdlet Out-File.