[記事公開日]2025/10/06
🧮 compコマンドの使い方|バイナリ比較でファイルの相違を確認する方法
もくじ
はじめに
Windowsのコマンドプロンプトで2つのファイルを比較したいとき、テキストファイルであればfcコマンドが便利ですが、バイナリレベルでの比較に特化したコマンドが「comp」です。ファイルの中身を1バイトごとに比較し、異なる部分を特定できるため、実行ファイルやバイナリデータの検証に役立ちます。
この記事では、compコマンドの基本操作からオプション、活用シーンや注意点までを詳しく解説します。
🛠 compコマンドとは?
-
役割:2つのファイルをバイナリ比較して違いを表示する
-
用途:実行ファイルの検証、データ破損確認、バージョン違いの調査
-
特徴:fcコマンドでもバイナリ比較は可能だが、compはバイト単位での比較に特化
📌 基本的な使い方
単一ファイル同士の比較
comp file1.exe file2.exe
-
file1.exe と file2.exe をバイナリ比較
ワイルドカードで複数ファイルを比較
comp *.bin D:\Backup
-
現在のディレクトリにあるバイナリファイルと D:\Backup 内の同名ファイルを比較
パスを指定して比較
comp C:\Data\image1.jpg C:\Backup\image1.jpg
-
同一ファイルが異なる場所に存在する場合の比較に便利
📊 出力例
比較 : C:\Work\file1.bin と C:\Work\file2.bin
***** file1.bin のオフセット 00000010 : 3A
***** file2.bin のオフセット 00000010 : 2B
ファイルは異なります。
-
差分があるとオフセット位置と異なるバイト値が表示される
一致した場合:
比較 : file1.bin と file2.bin
ファイルは同一です。
🔍 主なオプション
-
/n=数値: 比較するバイト数を指定 -
/c: 大文字小文字の違いを無視(テキスト比較用) -
/a: ASCII文字で表示(テキスト向け) -
/d: 10進数でバイト値を表示
例:最初の100バイトだけ比較
comp file1.bin file2.bin /n=100
例:差分をASCII文字で確認
comp file1.txt file2.txt /a
例:差分を10進数で表示
comp file1.bin file2.bin /d
📚 活用シーン
実行ファイルの改ざんチェック
-
利用例:
comp program_v1.exe program_v2.exe -
効果:ソフトウェアの改ざんやバージョン差分を検出
バックアップデータの検証
-
利用例:
comp data1.bin data2.bin -
効果:コピーや移動後にデータが破損していないか確認
画像や音声ファイルの一致確認
-
利用例:
comp photo1.jpg photo2.jpg -
効果:同じファイルであるかどうかを厳密に検証
限定範囲の比較
-
利用例:
comp log1.bin log2.bin /n=500 -
効果:冒頭部分のみ比較して素早く確認
⚠️ 注意点
-
テキスト比較には
fcコマンドの方が分かりやすい -
大容量ファイルでは処理に時間がかかる
-
差分をGUIのように見やすく表示する機能はなく、あくまでバイト値の表示
-
完全一致を確認する用途には便利だが、差分解析には外部ツールが適する場合もある
📊 まとめ表
| コマンド | 用途 | 主な活用シーン |
|---|---|---|
| comp file1 file2 | バイナリ比較 | 実行ファイル検証 |
| comp /n=100 | 先頭100バイト比較 | 部分確認 |
| comp /a | ASCII文字表示 | テキスト比較 |
| comp /d | 10進数表示 | バイト値確認 |
| comp *.bin D:\Backup | 複数ファイル比較 | バックアップ検証 |
関連記事
-
fcコマンドでテキストやバイナリを比較する方法
-
moreコマンドでテキストをページごとに表示する方法
-
certutilコマンドでハッシュ値を計算する方法
さいごに
「comp」コマンドは、ファイルをバイト単位で比較できるシンプルかつ強力なツールです。テキストファイルよりも、実行ファイルやバイナリデータの検証に特化しており、バックアップ検証や改ざんチェックに役立ちます。
シンプルな構文で手軽に利用できるため、ファイルの同一性を確認したい場面で積極的に活用してみてください。
