J'ai comparé deux fichiers en utilisant le code suivant:
Compare-Object $(Get-Content c:\user\documents\List1.txt) $(Get-Content c:\user\documents\List2.txt)
Comment puis-je écrire la sortie de ceci dans un nouveau fichier texte? J'ai essayé d'utiliser une commande echo, mais je ne comprends pas vraiment la syntaxe.
Utilisez la cmdlet Out-File
Compare-Object ... | Out-File C:\filename.txt
Ajoutez éventuellement -Encoding utf8
à Out-File
car le codage par défaut n'est pas vraiment idéal pour de nombreuses utilisations.
Le moyen le plus simple est de simplement rediriger la sortie, comme suit:
Compare-Object $(Get-Content c:\user\documents\List1.txt) $(Get-Content c:\user\documents\List2.txt) > c:\user\documents\diff_output.txt
>
entraînera le remplacement du fichier de sortie s'il existe déjà.>>
ajoutera un nouveau texte à la fin du fichier de sortie s'il existe déjà.
Une autre façon de procéder consiste à utiliser les commandes Start-Transcript
et Stop-Transcript
, respectivement avant et après l'exécution de la commande. Cela capturerait la session entière, y compris les commandes.
Pour ce cas particulier, Out-File
est probablement votre meilleur choix.