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-File
cmdlet
Compare-Object ... | Out-File C:\filename.txt
Voeg optioneel -Encoding utf8
toe aan Out-File
aangezien 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-Transcript
en Stop-Transcript
te gebruiken, respectievelijk voor en na de uitvoering van de opdracht. Dit zou de hele sessie vastleggen, inclusief opdrachten.
Voor dit specifieke geval Out-File
is waarschijnlijk uw beste gok.