Schrijf uitvoer naar een tekstbestand in PowerShell

Ik heb twee bestanden vergeleken met de volgende code:

Compare-Object $(Get-Content c:\user\documents\List1.txt) $(Get-Content c:\user\documents\List2.txt) 

Hoe kan ik de uitvoer hiervan naar een nieuw tekstbestand schrijven? Ik heb geprobeerd een echo-opdracht te gebruiken, maar ik begrijp de syntaxis niet echt.


Antwoord 1, autoriteit 100%

Gebruik de Out-Filecmdlet

Compare-Object ... | Out-File C:\filename.txt

Voeg optioneel -Encoding utf8toe aan Out-Fileaangezien de standaardcodering niet echt ideaal is voor veel toepassingen.


Antwoord 2, autoriteit 22%

De eenvoudigste manier is om de uitvoer gewoon om te leiden, zoals:

Compare-Object $(Get-Content c:\user\documents\List1.txt) $(Get-Content c:\user\documents\List2.txt) > c:\user\documents\diff_output.txt

>zorgt ervoor dat het uitvoerbestand wordt overschreven als het al bestaat.
>>voegt nieuwe tekst toe aan het einde van het uitvoerbestand als dit al bestaat.


Antwoord 3, autoriteit 6%

Een andere manier om dit te bereiken is door de opdrachten Start-Transcripten Stop-Transcriptte gebruiken, respectievelijk voor en na de uitvoering van de opdracht. Dit zou de hele sessie vastleggen, inclusief opdrachten.

Start- Transcriptie

Stop- Transcript

Voor dit specifieke geval Out-Fileis waarschijnlijk uw beste gok.

Other episodes