Windowsでdiffをとる

スポンサーリンク

Windows標準のPower Shellを使います。
Power Shellの使い方はこの記事
今回比較するファイルはすべてPowerShellを実行するフォルダにあるものとして書いています。

構文(エイリアス無し)

Compare-Object (Get-Content ファイル1) (Get-Content ファイル2)

構文(エイリアス有り)

全部同じです。
diff (cat ファイル1) (cat ファイル2)
diff (type ファイル1) (type ファイル2)
diff (more ファイル1) (more ファイル2)


実際に使ってみる。

比較するファイル2つはこれ

a.txt

aaaa
bbbbX
cccc
dddd

b.txt

aaaa
bbbb
ccccZ
dddd

結果

一応上記で機能はしていますが、UNIXベースのdiff結果を期待している人には結果の見づらさはひどいものがあります。コマンドの細かい説明は省きますが、以下のコードで見やすい結果を出力できます。

構文

diff (cat ファイル1) (cat ファイル2) |
sort inputobject |
ft -a -wr @{label=”Line”;expression={$_.inputobject.readcount}},
inputobject,sideindicator

貼り付け用に1行にしたバージョン
diff (cat ファイル1) (cat ファイル2) | sort inputobject | ft -a -wr @{label=”Line”;expression={$_.inputobject.readcount}},inputobject,sideindicator

結果

コメント