Подтвердить что ты не робот

Запись вывода в текстовый файл в PowerShell

Я сравнил два файла, используя следующий код:

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

Как я могу написать вывод этого в новый текстовый файл? Я пробовал использовать команду echo, но я не понимаю синтаксис.

4b9b3361

Ответ 1

Используйте командлет Out-File

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

Необязательно добавьте -Encoding utf8 в Out-File, поскольку кодировка по умолчанию не идеальна для многих целей.

Ответ 2

Самый простой способ - просто перенаправить вывод, например:

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

> приведет к тому, что выходной файл будет перезаписан, если он уже существует.
>> добавит новый текст в конец выходного файла, если он уже существует.

Ответ 3

Другим способом достижения этой цели является использование команд Start-Transcript и Stop-Transcript, соответственно, до и после выполнения команды. Это будет захватывать весь сеанс, включая команды.

Start-Transcript

Стоп-Transcript

Для этого конкретного случая Out-File, вероятно, является лучшим выбором.