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-Object
que 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
Você pode canalizar objetos para Tee-Object
.
Saídas
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 .