Gravar o resultado num ficheiro de texto Em PowerShell
comparei dois ficheiros usando o seguinte código:
Compare-Object $(Get-Content c:\user\documents\List1.txt) $(Get-Content c:\user\documents\List2.txt)
Como posso escrever o resultado disto num novo ficheiro de texto? Tentei usar um comando echo, mas não entendo a sintaxe.
3 answers
Utilize o Out-File
cmdlet
Compare-Object ... | Out-File C:\filename.txt
Opcionalmente, adicionar -Encoding utf8
a Out-File
, dado que a codificação por omissão não é realmente ideal para muitos usos.
A maneira mais simples é redireccionar a saída, assim:
Compare-Object $(Get-Content c:\user\documents\List1.txt) $(Get-Content c:\user\documents\List2.txt) > c:\user\documents\diff_output.txt
>
fará com que o ficheiro de saída seja substituído se já existir.>>
irá adicionar texto novo ao fim do ficheiro de saída, se já existir.
Outra forma de conseguir isto é usando os comandos Start-Transcript
e Stop-Transcript
, respectivamente, antes e depois da execução do comando. Isto iria capturar toda a sessão, incluindo comandos.
Para este caso em particular Out-File
é provavelmente a tua melhor aposta.