Como alternar a saída do comando para o arquivo no Windows

Muitas vezes, você pode executar alguns comandos em um prompt de comando ou PowerShell no Windows, seja para executar tarefas de administração, solução de problemas ou automação. No entanto, às vezes, salve os resultados em um arquivo de texto, seja para referência futura, análise adicional ou compartilhamento com outras pessoas.

Como fazer isso? Você precisa copiar e colar manualmente a saída do comando em um arquivo de texto? Claro que não. Há uma maneira mais fácil e rápida de fazer isso, que é usar o operador de redirecionamento.

O operador de redirecionamento é um símbolo especial que diz ao shell (interface de comando) para alterar a direção do fluxo de dados do padrão (tela) para outro lugar (arquivo). Usando operadores de redirecionamento, você pode enviar a saída de comando para arquivos de texto de forma fácil e rápida.

cmd

Neste artigo, você aprenderá a usar operadores de redirecionamento para redirecionar a saída de comando para um arquivo no Windows, usando o Prompt de Comando ou o PowerShell. Você também aprenderá algumas dicas e truques para fazer melhor uso desse recurso.

O que é um operador de redirecionamento?

Um operador de redirecionamento é um símbolo usado para alterar a direção do fluxo de dados de um padrão (tela) para outro local (arquivo). Existem vários operadores de redirecionamento que você pode usar, dependendo do que você deseja fazer com a saída do comando.

Aqui está uma lista dos operadores de redirecionamento mais usados no Windows:

  • >: Este operador é usado para redirecionar a saída do comando para um novo arquivo. Se o arquivo já existir, seu conteúdo será substituído pela saída do comando.
  • >>: Este operador é usado para redirecionar a saída do comando para um arquivo existente. Se o arquivo ainda não existir, um novo arquivo será criado. A saída do comando será anexada ao final do arquivo sem excluir o conteúdo anterior.
  • <: Este operador é usado para receber a entrada de um arquivo e passá-la para o comando. Isso é útil se você deseja executar um comando com parâmetros armazenados em um arquivo de texto.
  • |: Este operador é usado para correlacionar a saída de um comando com a entrada de outro comando. Isso é conhecido como pipelining e permite que você crie uma série de comandos interdependentes.

Como usar operadores de redirecionamento no prompt de comando

O Prompt de Comando é uma interface de linha de comando interna do Windows que você pode usar para executar vários comandos e programas. Para usar o operador de redirecionamento no prompt de comando, você só precisa adicioná-lo após o comando que deseja executar, seguido do nome do arquivo de destino.

Por exemplo, se você deseja executar o comando “dir” para exibir uma lista de arquivos e pastas no diretório atual e salvar os resultados em um arquivo chamado “list.txt”, digite o seguinte comando:

dir > list.txt

Esse comando criará um novo arquivo chamado “list.txt” no diretório atual e gravará a saída do comando dir nele. Se o arquivo já existir, seu conteúdo será substituído pela saída do comando.

Se você quiser adicionar a saída do comando “dir” a um arquivo existente, por exemplo, “list.txt”, poderá usar o operador “>>“ da seguinte maneira:

dir >> list.txt

Esse comando adicionará a saída do comando “dir” ao final de “file list.txt”, sem remover o conteúdo anterior. Se o arquivo ainda não existir, um novo arquivo será criado.

Você também pode usar o operador “<“ para passar a entrada de um arquivo para um comando. Por exemplo, se você tiver um arquivo chamado “commands.txt” que contém vários comandos que você deseja executar sequencialmente, você pode digitar o seguinte comando:

cmd < commands.txt

Esse comando executará um novo shell (cmd) e fornecerá entrada do arquivo “commands.txt” para esse shell. Cada linha no arquivo “commands.txt” será considerada um comando a ser executado.

Você também pode usar o operador “|” para correlacionar a saída de um comando com a entrada de outro comando. Por exemplo, se você deseja executar o comando “dir” para exibir uma lista de arquivos e pastas no diretório atual e, em seguida, execute o comando “find” para procurar um arquivo ou pasta específica, digite o seguinte comando:

dir | find “test”

Esse comando enviará a saída do comando “dir” para a entrada do comando find e procurará a palavra “test” nessa saída. Os resultados serão exibidos na tela.

Como usar operadores de redirecionamento no PowerShell

O PowerShell é uma interface de linha de comando avançada que você pode usar para executar vários comandos e scripts no Windows. O PowerShell tem os mesmos operadores de redirecionamento que o Prompt de Comando, mas também tem alguns operadores adicionais que são mais flexíveis e poderosos.

Aqui está uma lista de operadores de redirecionamento que você pode usar no PowerShell:

  • >: Este operador é usado para redirecionar a saída do comando para um novo arquivo. Se o arquivo já existir, seu conteúdo será substituído pela saída do comando. Este operador simplesmente alterna a saída referida como “stream 1” ou “output stream”, que é a saída normal exibida na tela.
  • >>: Este operador é usado para redirecionar a saída do comando para um arquivo existente. Se o arquivo ainda não existir, um novo arquivo será criado. A saída do comando será anexada ao final do arquivo, sem excluir o conteúdo anterior. Este operador simplesmente alterna o fluxo de saída.
  • <: Este operador é usado para receber a entrada de um arquivo e passá-la para o comando. Isso é útil se você deseja executar um comando com parâmetros armazenados em um arquivo de texto.
  • |: Este operador é usado para correlacionar a saída de um comando com a entrada de outro comando. Isso é conhecido como pipelining e permite que você crie uma série de comandos interdependentes.
  • 2>: Este operador é usado para redirecionar uma saída referida como “stream 2” ou “error stream”, que é uma saída contendo uma mensagem de erro exibida na tela.
  • 2>>: Este operador é usado para redirecionar erros de fluxo para arquivos existentes. Se o arquivo ainda não existir, um novo arquivo será criado. A saída do fluxo de erro será anexada ao final do arquivo, sem remover o conteúdo anterior.
  • 3>: Este operador é usado para redirecionar uma saída referida como “stream 3” ou “warning stream”, que é uma saída contendo uma mensagem de aviso exibida na tela.
  • 3>>: Este operador é usado para redirecionar o fluxo de alerta para um arquivo existente. Se o arquivo ainda não existir, um novo arquivo será criado. A saída do fluxo de aviso será anexada ao final do arquivo, sem remover o conteúdo anterior.
  • 4>: Este operador é usado para redirecionar a saída referida como “stream 4” ou “verbose stream”, que é a saída que contém informações adicionais exibidas na tela se você usar o parâmetro -Verbose nos comandos.
  • 4>>: Este operador é usado para redirecionar o fluxo detalhado para um arquivo existente. Se o arquivo ainda não existir, um novo arquivo será criado. A saída do fluxo detalhado será anexada ao final do arquivo, sem excluir o conteúdo anterior.
  • 5>: Este operador é usado para redirecionar a saída referida como “stream 5” ou “debug stream”, que é a saída que contém informações de depuração exibidas na tela se você usar o parâmetro -Debug no comando.
  • 5>>: Este operador é usado para redirecionar o fluxo de depuração para um arquivo existente. Se o arquivo ainda não existir, esse comando adicionará a saída de depuração do fluxo ao final do arquivo, sem remover o conteúdo anterior.

Você pode usar esses operadores de redirecionamento simultaneamente para alternar a saída de fluxos diferentes para arquivos diferentes. Por exemplo, se você deseja executar o comando “Get-Process” para ver uma lista de processos em execução no sistema e redirecionar a saída normal para o arquivo “process.txt”, a saída de erro para o arquivo “error.txt” e a saída detalhada para o arquivo “verbose.txt”, digite o seguinte comando:

Get-Process -Verbose > process.txt 2> error.txt 4> verbose.txt

Esse comando criará três novos arquivos no diretório atual e gravará a saída de cada fluxo no arquivo correspondente. Se os arquivos já existirem, seu conteúdo será substituído pela saída do comando.

Você também pode usar operadores de redirecionamento especiais chamados “tee-object” para redirecionar a saída do comando para um arquivo enquanto o exibe na tela. Isso é útil se você quiser salvar a saída do comando para referência futura, mas também quiser vê-lo ao vivo.

Para usar tee-object, você precisa adicionar o símbolo “|” após o comando que deseja executar, seguido da palavra “tee” e do nome do arquivo de destino. Por exemplo, se você deseja executar o comando “Get-Date” para ver a data e hora atuais e redirecionar a saída para o arquivo “date.txt” enquanto o exibe na tela, digite o seguinte comando:

Get-Date | Tee date.txt

Esse comando criará um novo arquivo chamado date.txt no diretório atual e gravará a saída do comando Get-Date nele. A saída também será exibida na tela.

Conclusão

Usando operadores de redirecionamento, você pode salvar a saída do comando em um arquivo de texto de forma fácil e rápida, sem ter que copiá-lo e colá-lo manualmente. Você também pode enviar a saída de comando para outros lugares, como a área de transferência, impressora ou outros comandos.

O operador de redirecionamento é um recurso muito útil e prático para executar várias tarefas no Windows, seja para fins de administração, solução de problemas ou automação. Ao dominar os operadores de redirecionamento, você pode aumentar sua produtividade e eficiência na execução de comandos no Windows.

Últimos artigos