about_Redirection

Aplica-se a: Windows PowerShell 2.0, Windows PowerShell 3.0

TÓPICO

about_Redirection

DESCRIÇÃO BREVE

Explica como redirecionar a saída do Windows PowerShell® para arquivos de texto.

DESCRIÇÃO LONGA

Por padrão, o Windows PowerShell envia a saída de seus comandos ao console do Windows PowerShell. No entanto, você pode direcionar a saída para um arquivo de texto e pode redirecionar a saída de erros para o fluxo regular de saída.

Você pode usar os métodos a seguir para redirecionar a saída:

  • - Use o cmdlet Out-File, que envia a saída do comando para um arquivo de texto. Normalmente, você usa o cmdlet Out-File quando precisa usar seus parâmetros, como os parâmetros Encoding, Force, Width ou NoClobber.

  • - Use o cmdlet Tee-Object, que envia a saída do comando para um arquivo de texto e, em seguida, para o pipeline.

  • - Use os operadores de redirecionamento do Windows PowerShell.

OPERADORES DE REDIRECIONAMENTO DO WINDOWS POWERSHELL

Os operadores de redirecionamento permitem o envio de tipos específicos de saída para arquivos e para o fluxo de sucesso de saída.

Os operadores de redirecionamento do Windows PowerShell usam os seguintes caracteres para representar cada tipo de saída:

        *   All output
        1   Success output
        2   Errors
        3   Warning messages
        4   Verbose output
        5   Debug messages

OBSERVAÇÃO: Os operadores de redirecionamento All (*), Warning (3), Verbose (4) e Debug (5) foram introduzidos no Windows PowerShell 3.0. Eles não funcionam nas versões anteriores do Windows PowerShell.

Os operadores de redirecionamento do Windows PowerShell são os seguintes.

      Operator  Description                Example  
      --------  ----------------------     ------------------------------
      >         Sends output to the        Get-Process > Process.txt
                specified file.

      >>        Appends the output to      dir *.ps1 >> Scripts.txt
                the contents of the  
                specified file.

      2>        Sends errors to the        Get-Process none 2> Errors.txt
                specified file.
 
      2>>       Appends errors to          Get-Process none 2>> Save-Errors.txt
                the contents of the 
                specified file.
 
      2>&1      Sends errors (2) and       Get-Process none, Powershell 2>&1
                success output (1) 
                to the success 
                output stream.

      3>        Sends warnings to the      Write-Warning "Test!" 3> Warnings.txt
                specified file.

      3>>       Appends warnings to        Write-Warning "Test!" 3>> Save-Warnings.txt
                the contents of the 
                specified file.

      3>&1      Sends warnings (3) and     function Test-Warning 
                success output (1)         {  Get-Process PowerShell; 
                to the success                Write-Warning "Test!" }
                output stream.             Test-Warning 3>&1

      4>        Sends verbose output to    Import-Module * -Verbose 4> Verbose.txt
                the specified file.

      4>>       Appends verbose output     Import-Module * -Verbose 4>> Save-Verbose.txt
                to the contents of the 
                specified file.

      4>&1      Sends verbose output (4)   Import-Module * -Verbose 4>&1
                and success output (1)    
                to the success output
                stream.              
 
      5>        Sends debug messages to    Write-Debug "Starting" 5> Debug.txt
                the specified file.

      5>>       Appends debug messages     Write-Debug "Saving" 5>> Save-Debug.txt
                to the contents of the 
                specified file.

      5>&1      Sends debug messages (5)   function Test-Debug 
                and success output (1)     { Get-Process PowerShell 
                to the success output        Write-Debug "PS" }
                stream.                    Test-Debug 5>&1

      *>        Sends all output types     function Test-Output
                to the specified file.     { Get-Process PowerShell, none  
                                             Write-Warning "Test!"
      *>>       Appends all output types     Write-Verbose "Test Verbose"
                to the contents of the       Write-Debug "Test Debug" } 
                specified file.            
                                           Test-Output *> Test-Output.txt
      *>&1      Sends all output types     Test-Output *>> Test-Output.txt
                (*) to the success output  Test-Output *>&1      
                stream.     

A sintaxe dos operadores de redirecionamento é a seguinte:

       <input> <operator> [<path>\]<file>

Se o arquivo especificado já existir, os operadores de redirecionamento que não acrescentarem dados (> e n>) substituem o conteúdo atual do arquivo sem aviso. No entanto, se o arquivo for somente leitura, oculto ou um arquivo de sistema, o redirecionamento falhará. Os operadores de redirecionamento de acréscimo (>> e n>>) não são gravados em um arquivo somente leitura, mas acrescentam conteúdo a um arquivo de sistema ou arquivo oculto. Insira o corpo da seção aqui.

Para forçar o redirecionamento do conteúdo para um arquivo somente leitura, oculto ou arquivo de sistema, use o cmdlet Out-File com o parâmetro Force. Quando você estiver gravando nos arquivos, os operadores de redirecionamento usam a codificação Unicode. Se o arquivo tiver uma codificação diferente, a saída pode não ser formatada corretamente. Para redirecionar o conteúdo para arquivos não Unicode, use o cmdlet Out-File com seu parâmetro Encoding.

CONSULTE TAMBÉM

Out-File

Tee-Object

about_Operators

about_Command_Syntax

about_Path_Syntax