Programming Field

Diskcomp - DOS/コマンドプロンプト コマンド一覧

[MS-DOS, およびWindows 8.1までのNT系] 指定したフロッピーディスクドライブの内容を比較します。

構文

diskcomp[.com] [<drive-letter1>: [<drive-letter2>:]] [/1] [/8]
<drive-letter1>: フロッピーディスクを比較する際に利用するフロッピーディスクドライブを指定します(ドライブ文字と「:」が必要です)。省略した場合は現在のドライブを利用します。
<drive-letter2>: フロッピーディスクの比較に別のドライブを用いる場合は指定します。省略した場合は現在のドライブを利用します。また、<drive-letter2>: (省略した場合現在のドライブ)が <drive-letter1>: と同じドライブである場合は、途中でディスクの入れ替えを要求するプロンプトが表示されます。
/1

[MS-DOS] ドライブとディスクが両方とも両面ディスクである(対応している)場合、片面のみを比較します。

[Windows NT系] このオプションは使用できず、ディスクのタイプが異なる場合(一方が両面、もう一方が片面など)は比較できません。

/8 [MS-DOS] ディスクのセクター数が8以外の場合(9, 15や18など)であっても、トラック当たり最初の8セクターだけを比較します。

解説

2枚のフロッピーディスクをトラック単位で比較します。ドライブ指定にフロッピーディスク以外のドライブを指定することはできません。またトラック単位での比較を行うため、ディスク内に存在するファイルが一致していたとしても、ファイルが存在するディスク内の位置(トラックやセクターなど)が異なる場合は不一致となります。ただし、ボリュームシリアル番号の比較は行いません。

[Windows 10 以降] フロッピーディスクのサポートが打ち切られたためか、Diskcompプログラムが存在しません。

なお、個々のファイル(または複数のファイル同士)を比較する場合はFcまたはCompを使用します。

Diskcompは終了コードを返すため、バッチファイルにおいてIf Errorlevelでの判定が可能です。終了コードは以下の通りです。

コード意味
0比較の結果、ディスクは一致していました。
1比較の結果、ディスクに違いのある箇所がありました。
2比較処理中に Ctrl+C が入力され処理が中止されました。
3回復不能なエラー(ハードに関するエラーなど)が発生しました。
4初期化処理中にエラーが発生しました。

diskcomp A: A:

Aドライブのみを用いてフロッピーディスクの比較を行います。途中でディスクの入れ替えが必要となります。