about_Redirection

Mis à jour: mai 2014

S'applique à: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

RUBRIQUE

about_Redirection

DESCRIPTION COURTE

Explique comment rediriger la sortie depuis Windows PowerShell® vers des fichiers texte.

DESCRIPTION DÉTAILLÉE

Par défaut, Windows PowerShell envoie sa sortie de commande à la console Windows PowerShell. Toutefois, vous pouvez diriger la sortie vers un fichier texte, et vous pouvez rediriger la sortie d’erreur vers le flux de sortie standard.

Vous pouvez utiliser les méthodes suivantes pour rediriger la sortie :

  • - Utilisez l’applet de commande Out-File, qui envoie la sortie de commande vers un fichier texte. En général, vous utilisez l’applet de commande Out-File quand vous avez besoin d’utiliser ses paramètres, par exemple Encoding, Force, Width ou NoClobber.

  • - Utilisez l’applet de commande Tee-Object, qui envoie la sortie de commande vers un fichier texte, puis l’envoie au pipeline.

  • - Utilisez les opérateurs de redirection Windows PowerShell.

OPÉRATEURS DE REDIRECTION WINDOWS POWERSHELL

Les opérateurs de redirection vous permettent d’envoyer des types particuliers de sortie vers les fichiers et le flux de sortie.

Les opérateurs de redirection Windows PowerShell utilisent les caractères suivants pour représenter chaque type de sortie :

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

REMARQUE : Les opérateurs de redirection All (*), Warning (3), Verbose (4) et Debug (5) ont été introduits dans Windows PowerShell 3.0. Ils ne fonctionnent pas dans les versions antérieures de Windows PowerShell.

Les opérateurs de redirection Windows PowerShell se présentent comme suit.

      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.     

La syntaxe des opérateurs de redirection est la suivante :

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

Si le fichier spécifié existe déjà, les opérateurs de redirection qui n’ajoutent pas de données (> et n>) remplacent le contenu actuel du fichier sans avertissement. Toutefois, si le fichier est en lecture seule ou masqué, ou s’il s’agit d’un fichier système, la redirection échoue. Les opérateurs de redirection Append (>> et n>>) n’écrivent pas dans un fichier en lecture seule, mais ils ajoutent du contenu à un fichier système ou masqué. Insérez le corps de la section ici.

Pour forcer la redirection du contenu vers un fichier en lecture seule, masqué ou système, utilisez l’applet de commande Out-File avec son paramètre Force. Lors de l’écriture dans des fichiers, les opérateurs de redirection utilisent l’encodage Unicode. Si le fichier a un encodage différent, il est possible que la sortie ne soit pas correctement mise en forme. Pour rediriger le contenu vers des fichiers non-Unicode, utilisez l’applet de commande Out-File avec son paramètre Encoding.

VOIR AUSSI

Out-File

Tee-Object

about_Operators

about_Command_Syntax

about_Path_Syntax