次のコードを使用して2つのファイルを比較しました。
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
が最善の策です。