WindowsのコマンドでDiffをとる

mabushiisign

WindowsのコマンドプロンプトでDiffを取るコマンドが標準であることが分かったので
メモとして残しておく。

fcコマンド仕様

C:\>fc /?
2 つのファイルまたはファイル セットを比較し、相違点を表示します。


FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn]
   [ドライブ1:][パス1]ファイル名1 [ドライブ2:][パス2]ファイル名2
FC /B [ドライブ1:][パス1]ファイル名1 [ドライブ2:][パス2]ファイル名2

  /A         相違する各部分の 1 行目と最後の行だけを表示します。
  /B         バイナリの比較を実行します。
  /C         英字の大文字と小文字を区別しません。
  /L         ファイルを ASCII テキストとして比較します。
  /LBn       連続する最大不一致行を指定行数に設定します。
  /N         ASCII の比較で行番号を表示します。
  /OFF[LINE] オフライン属性が設定されたファイルをスキップしません。
  /T         タブをスペースに変換しません。
  /U         Unicode テキスト ファイルとしてファイルを比較します。
  /W         連続した空白 (タブとスペース) を 1 つのスペースに圧縮して比較
             します。
  /nnnn      不一致発見後に確認する、一致すべき連続行数を指定します。

  [ドライブ1:][パス1]ファイル名1
             比較する最初のファイルまたはファイル セットを指定します。
  [ドライブ2:][パス2]ファイル名2
             比較する 2 番目のファイルまたはファイル セットを指定します。

テキストファイルの比較

テキストファイルの比較を行う場合は、 /N を使用する。
不一致箇所があった行の前後が出力されます。

C:\work>fc /N aaa.txt bbb.txt
ファイル aaa.txt と BBB.TXT を比較しています
***** aaa.txt
    2:  bbbbb
    3:  ccccc
    4:  あああああ
***** BBB.TXT
    2:  bbbbb
    3:  cccdd
    4:  あああああ
*****

バイナリの比較

バイナリの比較は /B を使用する。差分は理解できないので同じかどうかの比較に使用すると良い。

C:\work>fc /B aaa.exe bbb.exe
ファイル aaa.exe と BBB.EXE を比較しています
FC: 相違点は検出されませんでした

参考書籍

この本がコマンドプロンプトについて便利でした。

ABOUT ME
mabushiisign
mabushiisign
B'zとdoaとミスチルと登山が好きな40代のプログラマです。 普段は、SIer企業で働いています。
記事URLをコピーしました