[登録されているタグ]

[記事公開日]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 複数ファイル比較 バックアップ検証

関連記事


さいごに

「comp」コマンドは、ファイルをバイト単位で比較できるシンプルかつ強力なツールです。テキストファイルよりも、実行ファイルやバイナリデータの検証に特化しており、バックアップ検証や改ざんチェックに役立ちます。

シンプルな構文で手軽に利用できるため、ファイルの同一性を確認したい場面で積極的に活用してみてください。

すべてを開く | すべてを閉じる

ページ上部へ戻る