Como Exportar Saída para um Arquivo Usando PowerShell

  1. Introdução ao comando Out-File no PowerShell
  2. Use o parâmetro -append para adicionar a um arquivo no PowerShell
  3. Altere os dados de saída no PowerShell
Como Exportar Saída para um Arquivo Usando PowerShell

Vários linguagens de script têm funções ou métodos que permitem exportar dados para um arquivo. Mesmo nos primeiros dias do MS-DOS, o operador de redirecionamento legado (>) pode fazer isso de forma conveniente.

Este artigo discutirá como exportar dados de saída para um arquivo, adicionar dados a um arquivo existente e manipular a saída usando PowerShell.

Introdução ao comando Out-File no PowerShell

Vamos supor que você tenha um script que retorna uma lista de todos os serviços do Windows em seu computador. Quando executamos Get-Service, você receberá todos os objetos que pode esperar no console.

Mas talvez queiramos salvar essa saída em um arquivo de texto. O comando Out-File é uma ótima maneira de fazer isso.

Podemos usar Out-File enviando quase qualquer coisa através do operador de pipeline. Abaixo, podemos ver que o script enviou a saída de Get-Service para o cmdlet, que criou um arquivo de texto chamado Services.txt contendo a mesma exibição no console.

Código de Exemplo:

Get-Service | Out-File -FilePath C:\PS\Services.txt
Get-Content C:\PS\Services.txt

Saída:

Status   Name               DisplayName

Stopped  AJRouter           AllJoyn Router Service
Stopped  ALG                Application Layer Gateway Service
<SNIP>

Use o parâmetro -append para adicionar a um arquivo no PowerShell

Por padrão, o comando Out-File sobrescreve qualquer coisa no arquivo de texto fornecido através do parâmetro -FilePath. No entanto, podemos substituir esse comportamento usando o parâmetro -Append.

Talvez estejamos acumulando saída do console em um arquivo e gostaríamos de adicionar texto a um arquivo em vez de sobrescrever. O parâmetro -Append é seu melhor amigo.

Se não usamos o parâmetro Out-File -Append, o conteúdo de C:\PS\File.txt é sobrescrito. Mas, assim que adicionamos o parâmetro -Append, ele adiciona a saída ao final.

Código de Exemplo:

'firststring' | Out-File -FilePath C:\PS\File.txt
Get-Content -Path C:\PS\File.txt

'secondstring' | Out-File -FilePath C:\PS\File.txt -Append
Get-Content C:\PS\File.txt

Saída:

firststring
firststring
secondstring

Altere os dados de saída no PowerShell

Por padrão, este cmdlet tentará replicar o que é mostrado no console, mas há algumas maneiras de manipulá-lo. Por exemplo, o cmdlet tem um parâmetro -NoNewLine que remove todos os caracteres de nova linha.

Código de Exemplo:

Get-Service | Out-File -FilePath C:\PS\Services.txt -NoNewline
Get-Content C:\PS\Services.txt

Saída:

Status   Name               DisplayName
------   ----               -----------
Stopped  AJRouter           AllJoyn Router Service
Stopped  ALG                Application La

Ou, podemos cortar o texto em cada linha em uma contagem de caracteres particular com o parâmetro -Width.

Código de Exemplo:

Get-Service | Out-File -FilePath C:\PS\Services.txt -Width 30
Get-Content C:\PS\Services.txt

Saída:

Status   Name               DisplayName
------   -----              -----------
Stopped  AJRouter           Al
Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Artigo relacionado - PowerShell Export