Comp 逐字節地比較兩個文件或幾組文件的內容
2020-07-26 20:30:45
供稿:網友
Comp
逐字節地比較兩個文件或幾組文件的內容。Comp 可以比較相同驅動器或不同驅動器上的文件以及相同目錄或不同目錄中的文件。comp 比較文件時,它將顯示文件的位置和文件名。如果在不含參數的情況下使用,則 comp 提示輸入要進行比較的文件。
語法
comp [data1] [data2] [/d] [/a] [/l] [/n=number] [/c]
參數
data1
指定要比較的第一個文件或文件集的位置和名稱。使用通配字符(* 和 ?)可以指定多個文件。
data2
指定要比較的第二個文件或文件集的位置和名稱。使用通配字符(* 和 ?)可以指定多個文件。
/d
用十進制格式顯示差別。(默認格式為十六進制。)
/a
將差別顯示為字符形式。
/l
顯示出現差別的行編號,而不顯示字節偏量。
/n=number
比較兩個文件的第一個 number,即使兩個文件的大小并不相同。
/c
執行不區分大小寫的比較。
/?
在命令提示符顯示幫助。
注釋
比較相同名稱的文件
如果要比較的文件位于不同的目錄或不同的驅動器,則它們可以有相同的文件名。如果不為 data2 指定文件名,則 data2 的默認文件名與 data1 中的文件名相同。可以使用通配字符(* 和 ?)來指定文件名。
data1 和 data2 的特殊情形
如果省略 data1 或 data2 的必要組件或者省略 data2,comp 將提示您輸入缺少的信息。如果 data1 只包含驅動器號或沒有文件名的目錄名,則 comp 將對指定目錄中的所有文件和 data2 中指定的文件進行比較。如果 data2 只包含驅動器號或目錄名,則 data2 的默認文件名與 data1 中的相同。
comp 命令如何標識不匹配信息
在比較期間,comp 會顯示消息,標識兩個文件中不同信息的位置。每條消息都表明了不相等字節的偏移內存地址和字節本身的內容(除非指定了 /a 或 /d 命令行選項,否則都用十六進制記數法表示)。消息按以下格式顯示:
Compare error at OFFSET xxxxxxxx
file1 = xx
file2 = xx
經過 10 個不相等的比較后,comp 命令終止了文件對比并顯示出下列信息:
10 Mismatches - ending compare
Comparing files of different sizes
除非指定 /n 命令行選項,否則不能比較不同大小的文件。如果文件大小不同,comp 將顯示下列消息:
Files are different sizes
Compare more files (Y/N)?
按 Y 比較其他文件對。按 N 停止 comp 命令。
如果按 Y 來響應提示,則 comp 在其所作的每個比較中都將使用在命令行中指定的任意命令行選項,直到按下 N 或重新鍵入命令。
在比較不同大小的文件時,使用 /n 命令行選項將僅比較每個文件的第一部分。
按順序比較文件
如果使用通配符(* 和 ?)指定多個文件,comp 查找與 data1 匹配的第一個文件,并將它與 data2 中的相應文件(如果有的話)進行比較。comp 命令報告比較結果,然后對每個匹配 data1 的文件進行相同的操作。完成后,comp 顯示下列消息:
Compare more files (Y/N)?
要比較其他文件,請按 Y。comp 命令提示符您鍵入新文件的位置和名稱。要停止比較,請按 N。當按下 Y 時,comp 將提示您輸入要使用的命令行選項。如果未指定任何命令行選項,comp 將使用以前指定的命令行選項。
如果 comp 無法找到文件
如果 comp 不能找到指定的文件,將使用消息提示您決定是否要比較其他文件。
范例
要將目錄 C:/Reports 的內容與備份目錄 //Sales/Backup/April 進行比較,請鍵入:
comp c:/reports //sales/backup/april
要比較 /Invoice 目錄中文本文件的開頭 10 行并以十進制格式顯示結果,請鍵入:
comp /invoice/*.txt /invoice/backup/*.txt /n=10 /d
XOX