Ответ 1
Используйте командлет Out-File
Compare-Object ... | Out-File C:\filename.txt
Необязательно добавьте -Encoding utf8
в Out-File
, поскольку кодировка по умолчанию не идеальна для многих целей.
Я сравнил два файла, используя следующий код:
Compare-Object $(Get-Content c:\user\documents\List1.txt) $(Get-Content c:\user\documents\List2.txt)
Как я могу написать вывод этого в новый текстовый файл? Я пробовал использовать команду echo, но я не понимаю синтаксис.
Используйте командлет Out-File
Compare-Object ... | Out-File C:\filename.txt
Необязательно добавьте -Encoding utf8
в Out-File
, поскольку кодировка по умолчанию не идеальна для многих целей.
Самый простой способ - просто перенаправить вывод, например:
Compare-Object $(Get-Content c:\user\documents\List1.txt) $(Get-Content c:\user\documents\List2.txt) > c:\user\documents\diff_output.txt
>
приведет к тому, что выходной файл будет перезаписан, если он уже существует. >>
добавит новый текст в конец выходного файла, если он уже существует.
Другим способом достижения этой цели является использование команд Start-Transcript
и Stop-Transcript
, соответственно, до и после выполнения команды. Это будет захватывать весь сеанс, включая команды.
Для этого конкретного случая Out-File
, вероятно, является лучшим выбором.