Comment exporter la sortie vers un fichier en utilisant PowerShell
-
Introduction à la commande
Out-File
dans PowerShell -
Utilisez le paramètre
-append
pour ajouter à un fichier dans PowerShell - Modifier les données de sortie dans PowerShell

Plusieurs langages de script ont des fonctions ou des méthodes qui vous permettent d’exporter les données vers un fichier. Même à l’époque des MS-DOS, l’opérateur de redirection hérité (>
) pouvait faire cela de manière pratique.
Cet article discutera de la façon d’exporter les données de sortie vers un fichier, d’ajouter des données à un fichier existant et de manipuler la sortie à l’aide de PowerShell.
Introduction à la commande Out-File
dans PowerShell
Disons que vous avez un script qui renvoie une liste de tous les services Windows sur votre ordinateur. Lorsque nous exécutons Get-Service
, vous recevrez tous les objets que vous pourriez attendre sur la console.
Mais peut-être aimerions-nous sauvegarder cette sortie dans un fichier texte. La commande Out-File
est un excellent moyen de le faire.
Nous pouvons utiliser Out-File
en acheminant presque tout via l’opérateur de pipeline. Ci-dessous, nous pouvons voir que le script a envoyé la sortie de Get-Service
au cmdlet, qui a créé un fichier texte appelé Services.txt
contenant le même affichage que sur la console.
Code d’exemple :
Get-Service | Out-File -FilePath C:\PS\Services.txt
Get-Content C:\PS\Services.txt
Sortie :
Status Name DisplayName
Stopped AJRouter AllJoyn Router Service
Stopped ALG Application Layer Gateway Service
<SNIP>
Utilisez le paramètre -append
pour ajouter à un fichier dans PowerShell
Par défaut, la commande Out-File
écrase tout ce qui se trouve dans le fichier texte fourni via le paramètre -FilePath
. Cependant, nous pouvons remplacer ce comportement en utilisant le paramètre -Append
.
Peut-être que nous accumulons des sorties de console dans un fichier et aimerions ajouter du texte à un fichier plutôt que de l’écraser. Le paramètre -Append
est votre meilleur ami.
Si nous n’utilisons pas le paramètre Out-File -Append
, le contenu de C:\PS\File.txt
est écrasé. Mais, dès que nous ajoutons le paramètre -Append
, il ajoute la sortie à la fin.
Code d’exemple :
'firststring' | Out-File -FilePath C:\PS\File.txt
Get-Content -Path C:\PS\File.txt
'secondstring' | Out-File -FilePath C:\PS\File.txt -Append
Get-Content C:\PS\File.txt
Sortie :
firststring
firststring
secondstring
Modifier les données de sortie dans PowerShell
Par défaut, ce cmdlet tentera de répliquer ce qui est affiché sur la console, mais il existe certaines façons de le manipuler. Par exemple, le cmdlet a un paramètre -NoNewLine
qui supprime tous les caractères de nouvelle ligne.
Code d’exemple :
Get-Service | Out-File -FilePath C:\PS\Services.txt -NoNewline
Get-Content C:\PS\Services.txt
Sortie :
Status Name DisplayName
------ ---- -----------
Stopped AJRouter AllJoyn Router Service
Stopped ALG Application La
Ou, nous pouvons couper le texte sur chaque ligne à un nombre de caractères particulier avec le paramètre -Width
.
Code d’exemple :
Get-Service | Out-File -FilePath C:\PS\Services.txt -Width 30
Get-Content C:\PS\Services.txt
Sortie :
Status Name DisplayName
------ ----- -----------
Stopped AJRouter Al
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn