コスパ重視で生きたい人生だった

なるべく楽して生きて行きたい30代サラリーマンのブログ

フォルダの中にあるファイルの中身をまとめて比較(diffもどき)するbatファイル


ファイルがいっぱいあって、たぶん差分があったりなかったりするとき。
いちいち一個ずつ差分比較するのはめんどくさい!
そういうとき、あると思います。
なわけで、batファイルを作ってみました。
いろいろいけてないところはありますが、同じ悩みを抱えた人の手助けになれば。


●フォルダを指定してファイルの中身をまとめて一括比較.bat

@echo off
set /p INP1="比較元フォルダその1を入力してください >"
set /p INP2="比較元フォルダその2を入力してください >"
dir /b /a-d %INP1% >> file_list1.txt
dir /b /a-d %INP2% >> file_list2.txt
fc /n /w file_list1.txt file_list2.txt >> file_hikaku_kekka.txt


for /F %%i in (file_list1.txt) do (
fc /n /w %INP1%"\"%%i %INP2%"\"%%i >> kekka.txt
)
set /p owari="比較が終了しました。enterを押してください。"

このbatを実行すると以下の4つのファイルが出力されます。

file_list1.txt、file_list2.txt

比較元フォルダその1、比較元フォルダその2にあったファイルのリストです。
基本的には無視してもらっても大丈夫です。


file_hikaku_kekka.txt

比較元フォルダその1、比較元フォルダその2に存在するファイルの比較結果です。
フォルダその1にあってその2にないとか、その逆とか、そんな結果はこのファイルに出力されます。


kekka.txt

フォルダその1にもその2にも同名のファイルが存在するけれど、中身に差分があるときはこのファイルに出力されます。
出力結果はコマンドプロンプトの「fc」コマンド準拠なので、見方それ参照。
うちのブログだとこの記事

それじゃまた。

Windowsコマンドプロンプト スパテク242 Vista/XP/2000対応 (スパテクシリーズ)

Windowsコマンドプロンプト スパテク242 Vista/XP/2000対応 (スパテクシリーズ)