Comment sortir vers un fichier dans Powershell avec Out-File et Export-Csv Cmdlet?
Out-File est un cmdlet fourni par les bibliothèques centrales de Powershell. Cette cmdlet fournit des fonctionnalités pour écrire la sortie créée dans un fichier du système de fichiers. Dans ce tutoriel, nous allons examiner différentes façons d’écrire la sortie dans un fichier avec les cmdlets Out-File
et Export-CSV
.
L’un des scénarios d’utilisation de base de out-file consiste à écrire la sortie dans un fichier sans la modifier. Dans cet exemple, nous allons écrire la sortie de la commande Get-Process
dans un fichier nommé process.txt
en le pipant. Le nom du fichier peut être spécifié sous la forme d’un chemin complet comme C:\user\process.txt
PS> Get-Process | Out-File process.txt
Ajouter dans un fichier existant
Si nous voulons juste ajouter de nouvelles lignes et ne voulons pas supprimer les données existantes, nous devrions ajouter de nouvelles données avec l’option -Append
comme ci-dessous.
PS> Get-Process | Out-File -Append process.txt
Ecrire comme CSV
Nous pouvons écrire la sortie créée dans un fichier est format CSV. Le format CSV délimite les colonnes avec des virgules. Nous utiliserons la cmdlet Export-Csv
pour cette opération. Cela prendra plus de temps que l’écriture brute dans le fichier car la ligne sera séparée et chaque colonne sera délimitée avec la commande.
PS> Get-Process | Export-Csv test.txt
Écrire à la fois dans un fichier et dans la console
Une autre fonctionnalité très utilisée est tout en écrivant la sortie dans un fichier l’impression dans la console aussi. Cela fournira des informations verbeuses sur la sortie. Nous allons utiliser Tee-Object
qui est hérité du système d’exploitation Linux.
Dans cet exemple, nous obtenons la sortie de la commande dir
dans la console et un fichier nommé dirs.txt
PS> Dir | Tee-Object -f dirs.txt
.