Comment exporter la sortie vers un fichier en utilisant PowerShell

  1. Introduction à la commande Out-File dans PowerShell
  2. Utilisez le paramètre -append pour ajouter à un fichier dans PowerShell
  3. Modifier les données de sortie dans PowerShell
Comment exporter la sortie vers un fichier en utilisant 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
Vous aimez nos tutoriels ? Abonnez-vous à DelftStack sur YouTube pour nous aider à créer davantage de tutoriels vidéo de haute qualité. Abonnez-vous
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Article connexe - PowerShell Export