PowerShell Exporter la sortie vers un fichier texte

Migel Hewage Nimesha 1 avril 2022
PowerShell Exporter la sortie vers un fichier texte

PowerShell est l’un des outils les plus importants, composé d’une CLI (Command Line Interface). Il se compose d’un langage de script qui peut être utilisé dans les fonctions d’automatisation et d’un cadre de gestion de la configuration qui peut être utilisé dans un environnement CI/CD. PowerShell prend en charge les systèmes d’exploitation Windows, Linux et macOS.

Les commandes PowerShell fournissent leur sortie standard sous forme de ligne d’impression dans l’interface de ligne de commande. Nous pouvons utiliser plusieurs commandes dans PowerShell pour obtenir des sorties dans différentes perspectives.

L’une des principales exigences de la plupart des utilisateurs est d’obtenir la sortie de l’interface de ligne de commande de PowerShell. C’est pour obtenir la sortie dans un fichier texte. Nous pouvons utiliser certaines commandes PowerShell pour atteindre cet objectif.

Exporter la sortie vers un fichier texte dans PowerShell

Nous allons d’abord considérer un exemple de commande qui donne généralement une sortie standard. La commande que nous allons utiliser ici serait Compare-Object.

Compare-Object est l’une des commandes de base de PowerShell, qui permet aux utilisateurs de comparer deux fichiers. Ensuite, le programme produirait les modifications trouvées dans les deux documents.

De plus, il pointe vers le fichier où la ligne unique se trouve via Side Indicator. Cette commande est couramment utilisée pour suivre les modifications apportées à un fichier dans différentes versions de lui-même.

Les deux fichiers d’entrée utilisés pour comparer sont présentés ci-dessous avec tout leur contenu.

Exporter la sortie vers un fichier texte dans PowerShell

Compare-Object $(Get-Content .\TestDoc1.txt) $(Get-Content .\TestDoc2.txt)

Les deux fichiers utilisés dans cette commande ont des données factices de caractères alphabétiques, plusieurs lignes étant uniques dans chaque fichier. La sortie du code ci-dessus ressemble à ceci.

InputObject SideIndicator
----------- -------------
JJ          =>
KK          =>
LL          =>
MM          =>
NN          =>
DD          <=
EE          <=
FF          <=
GG          <=

Notre sujet est de discuter de la façon d’obtenir la sortie ci-dessus dans un fichier texte externe.

Il existe plusieurs commandes pour le faire. Certains sont considérés comme les meilleurs et les plus faciles.

Utilisez la commande Out-File pour exporter la sortie d’une commande commune vers un fichier texte dans PowerShell

Out-File est une commande qui envoie la sortie d’une commande PowerShell à un fichier. Par exemple, nous pouvons utiliser la commande que nous avons choisie ci-dessus comme ci-dessous.

Compare-Object $(Get-Content .\TestDoc1.txt) $(Get-Content .\TestDoc2.txt) | Out-File .\TestDoc3.txt

Ensuite, la sortie n’est pas écrite dans l’interface de ligne de commande PowerShell mais directement imprimée dans le fichier de sortie fourni dans le chemin de la commande. La sortie ci-dessous est ce qui est imprimé dans le TestDoc3.

InputObject SideIndicator
----------- -------------
JJ          =>           
KK          =>           
LL          =>           
MM          =>           
NN          =>           
DD          <=           
EE          <=           
FF          <=           
GG          <=           

De plus, l’image ci-dessous montre la même sortie que le fichier de sortie.

Exporter la sortie vers un fichier texte dans PowerShell - 2

D’autres options peuvent être utilisées, telles que Start-Transcript et Stop-Transcript. Nous pouvons les utiliser pour créer un script de chaque commande exécutée entre les deux.

Avant de lancer les commandes, vous pouvez saisir Start-Transcript, et à la fin des commandes que vous souhaitez programmer, vous pouvez saisir Stop-Transcript.

Cependant, ce n’est pas la meilleure solution pour obtenir la sortie d’une commande dans un fichier texte séparé, car un processus de script enregistre tout ce qui se passe dans le PowerShell.

Par conséquent, nous pouvons conclure que out-file est la meilleure solution pour réaliser la tâche en question. La sortie est reçue avec succès comme mentionné et illustré ci-dessus.

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.