我使用以下代码比较了两个文件:
Compare-Object $(Get-Content c:\user\documents\List1.txt) $(Get-Content c:\user\documents\List2.txt)
如何将此输出写入新文本文件?我尝试过使用echo命令,但我真的不懂语法。
答案 0 :(得分:85)
使用Out-File
cmdlet
Compare-Object ... | Out-File C:\filename.txt
或者,将-Encoding utf8
添加到Out-File
,因为默认编码并非适用于多种用途。
答案 1 :(得分:19)
最简单的方法是重定向输出,如下所示:
Compare-Object $(Get-Content c:\user\documents\List1.txt) $(Get-Content c:\user\documents\List2.txt) > c:\user\documents\diff_output.txt
如果输出文件已存在, >
将导致输出文件被覆盖
如果输出文件已经存在,>>
会将新文本附加到输出文件的末尾。
答案 2 :(得分:3)
另一种可以实现此目的的方法是在命令执行之前和之后分别使用Start-Transcript
和Stop-Transcript
命令。这将捕获整个会话,包括命令。
在这种情况下,Out-File
可能是您最好的选择。