Envoie la sortie à un fichier.
Syntaxe
Out-File [-FilePath] <string> [[-Encoding] <string>] [-Append] [-Force] [-InputObject <psobject>] [-NoClobber] [-Width <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Description
L'applet de commande Out-File envoie la sortie à un fichier. Vous pouvez utiliser cette applet de commande à la place de l'opérateur de redirection (>) lorsque vous devez utiliser ses paramètres.
Paramètres
-Append
Ajoute la sortie à la fin d'un fichier existant, au lieu de remplacer le contenu du fichier.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Encoding <string>
Spécifie le type d'encodage de caractères utilisé dans le fichier. Les valeurs valides sont « Unicode », « UTF7 », « UTF8 », « UTF32 », « ASCII », « BigEndianUnicode », « Default » et « OEM ». « Unicode » est la valeur par défaut.
« Default » utilise l'encodage de la page de codes ANSI actuelle du système.
« OEM » utilise l'identificateur de la page de codes du fabricant d'ordinateurs OEM actuel pour le système d'exploitation.
Obligatoire ? |
false |
Position ? |
2 |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-FilePath <string>
Spécifie le chemin d'accès au fichier de sortie.
Obligatoire ? |
true |
Position ? |
1 |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Force
Permet à l'applet de commande de remplacer un fichier en lecture seule existant. Même en utilisant le paramètre Force, l'applet de commande ne peut pas remplacer les restrictions de sécurité.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-InputObject <psobject>
Spécifie les objets à écrire dans le fichier. Entrez une variable contenant les objets ou tapez une commande ou une expression qui obtient les objets.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
true (ByValue) |
Accepter les caractères génériques ? |
false |
-NoClobber
Ne remplace pas un fichier existant (n'écrase pas son contenu). Par défaut, si un fichier existe dans le chemin d'accès spécifié, Out-File le remplace sans avertissement. Si les deux paramètres Append et NoClobber sont utilisés, la sortie est ajoutée au fichier existant.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Width <int>
Spécifie le nombre de caractères dans chaque ligne de sortie. Tous les caractères additionnels sont tronqués, et non renvoyés à la ligne. Si vous omettez ce paramètre, la largeur est déterminée par les caractéristiques de l'hôte. La valeur par défaut pour la console Windows PowerShell est 80 (caractères).
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-Confirm
Vous invite à confirmer l'exécution de la commande.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
-WhatIf
Décrit le résultat que vous obtiendriez en exécutant la commande, sans réellement l'exécuter.
Obligatoire ? |
false |
Position ? |
named |
Valeur par défaut |
|
Accepter l'entrée de pipeline ? |
false |
Accepter les caractères génériques ? |
false |
<CommonParameters>
Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.
Entrées et sorties
Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.
Entrées |
System.Management.Automation.PSObject Vous pouvez diriger n'importe quel objet vers Out-File. |
Sorties |
Aucun Out-File ne génère aucune sortie. |
Remarques
Les applets de commande Out ne mettent pas en forme les objets ; ils les restituent seulement et les envoient à la destination d'affichage spécifiée. Si vous envoyez un objet non mis en forme à une applet de commande Out, l'applet de commande l'envoie à une applet de commande de mise en forme avant de le restituer.
Les applets de commande Out n'ont pas de paramètres pour les noms ou les chemins d'accès aux fichiers. Pour envoyer des données à une applet de commande contenant le verbe Out (applet de commande Out), utilisez un opérateur de pipeline (|) pour envoyer la sortie d'une commande Windows PowerShell vers l'applet de commande. Vous pouvez également stocker des données dans une variable et utiliser le paramètre InputObject pour passer les données à l'applet de commande. Pour l'aide, consultez les exemples.
Out-File envoie des données, mais n'émet pas d'objets de sortie. Si vous dirigez la sortie de Out-File vers Get-Member, Get-Member indique qu'aucun objet n'a été spécifié.
Exemple 1
C:\PS>get-process | out-file -filepath C:\Test1\process.txt Description ----------- Cette commande envoie une liste de processus sur l'ordinateur au fichier Process.txt. Si le fichier n'existe pas, Out-File le crée. Dans la mesure où le nom du paramètre FilePath est facultatif, vous pouvez l'omettre et envoyer la commande équivalente « get-process | outfile C:\Test1\process.txt ».
Exemple 2
C:\PS>get-process | out-file C:\Test1\process.txt -noclobber Out-File : File C:\Test1\process.txt already exists and NoClobber was specified. At line:1 char:23 + get-process | out-file <<<< process.txt -noclobber Description ----------- Cette commande envoie également une liste de processus au fichier Process.txt, mais utilise le paramètre NoClobber qui empêche un fichier existant d'être remplacé. La sortie indique le message d'erreur qui apparaît lorsque NoClobber est utilisé avec un fichier existant.
Exemple 3
C:\PS>$a = get-process C:\PS> out-file -filepath C:\Test1\process.txt -inputobject $a -encoding ASCII -width 50 Description ----------- Ces commandes envoient une liste de processus sur l'ordinateur au fichier Process.txt. Le texte est encodé au format ASCII afin de pouvoir être lu par les programmes de recherche tels que Findstr et Grep. Par défaut, Out-File utilise le format Unicode. La première commande obtient la liste des processus et les stocke dans la variable $a. La deuxième commande utilise l'applet de commande Out-File pour envoyer la liste au fichier Process.txt. La commande utilise le paramètre InputObject pour spécifier que l'entrée se trouve dans la variable $a. Elle utilise le paramètre Encoding pour convertir la sortie au format ASCII. Elle utilise le paramètre Width pour limiter chaque ligne du fichier à 50 caractères. Dans la mesure où les lignes de sortie sont tronquées après 50 caractères, la colonne de droite dans la table de processus est omise.
Exemple 4
C:\PS>set-location hklm:\software c:\PS>get-acl mycompany\mykey | out-file -filepath c:\ps\acl.txt c:\PS>get-acl mycompany\mykey | out-file -filepath filesystem::acl.txt Description ----------- Ces commandes montrent comment utiliser l'applet de commande Out-File lorsque vous n'êtes pas sur un lecteur FileSystem. La première commande définit l'emplacement actuel à la clé de Registre HKLM:\Software. Les deuxième et troisième commandes ont le même effet. Elles utilisent l'applet de commande Get-Acl pour obtenir le descripteur de sécurité de la sous-clé de Registre MyKey (HKLM\Software\MyCompany\MyKey). Un opérateur de pipeline passe le résultat à l'applet de commande Out-File, qui l'envoie au fichier Acl.txt. Dans la mesure où l'applet de commande Out-File n'est pas prise en charge par le fournisseur Registry de Windows PowerShell, vous devez spécifier soit le nom de lecteur du système de fichiers, tel que « c: », soit le nom du fournisseur suivi de deux signes deux-points, « FileSystem:: », dans la valeur du paramètre FilePath. Les deuxième et troisième commandes illustrent ces méthodes.
Voir aussi