diskcomp

比較兩個磁碟片的內容。 如果沒有搭配參數使用,diskcomp 會使用目前的磁碟機來比較這兩個磁碟。

語法

diskcomp [<drive1>: [<drive2>:]]

參數

參數 描述
<drive1> 指定包含其中一個磁碟片的磁碟機。
/? 在命令提示字元顯示說明。

備註

  • diskcomp 命令僅適用於磁碟片。 您無法將 diskcomp 與硬碟搭配使用。 如果您為 drive1drive2 指定硬碟,diskcomp 會顯示下列錯誤訊息:

    Invalid drive specification
    Specified drive does not exist
    or is nonremovable
    
  • 如果比較中的兩個磁碟上的所有磁軌都相同 (它會忽略磁碟的磁碟區編號),diskcomp 會顯示下列訊息:

    Compare OK
    

    如果追蹤不相同,diskcomp 會顯示類似下內容的訊息:

    Compare error on
    side 1, track 2
    

    diskcomp 完成比較時,會顯示下列訊息:

    Compare another diskette (Y/N)?
    

    如果按 Ydiskcomp 會提示您插入磁碟以進行下一個比對。 如果按 Ndiskcomp 會停止比對。

  • 如果省略 drive2 參數,diskcomp 會針對 drive2 使用目前的磁碟機。 如果省略這兩個磁碟機參數,diskcomp 會針對這兩者使用目前的磁碟機。 如果目前的磁碟機與 drive1 相同,diskcomp 會提示您視需要交換磁碟。

  • 如果為 drive1drive2 指定相同的磁碟機,diskcomp 會使用磁碟機對它們進行比較,並提示您視需要插入磁碟。 視磁碟容量和可用記憶體數量而定,您可能需要多次交換磁碟。

  • Diskcomp 無法比較單面磁碟與雙面磁碟,也無法比較高密度磁碟與雙密度磁碟。 如果 drive1 中的磁碟與 drive2 中的磁碟類型不同,diskcomp 將顯示下列訊息:

    Drive types or diskette types not compatible
    
  • Diskcomp 無法在網路磁碟機或由 subst 命令所建立的磁碟機上運作。 如果您嘗試將 diskcomp 與任何這些類型的磁碟機一起使用,diskcomp 將顯示下列錯誤訊息:

    Invalid drive specification
    
  • 如果將 diskcomp 與使用 copy 建立的磁碟一起使用,diskcomp 可能會顯示類似下列內容的訊息:

    Compare error on
    side 0, track 0
    

    即使磁碟上的檔案相同,也會發生這種類型的錯誤。 雖然 copy 複製資訊,但它不一定將其放置在目的地磁碟上的相同位置。

  • diskcomp 結束代碼:

    結束代碼 描述
    0 磁碟是相同的
    1 發現差異
    3 發生重大錯誤
    4 發生初始化錯誤

    若要處理 diskcomp 傳回的結束程式碼,可以在批次程式中的 if 命令列上使用 ERRORLEVEL 環境變數。

範例

如果您的電腦只有一個磁碟片 (例如:磁碟機 A),而且您想要比較兩個磁碟,請輸入:

diskcomp a: a:

Diskcomp 會提示您視需要插入每個磁碟。

為了說明如何在 if 命令列上使用 ERRORLEVEL 環境變數的批次程式中處理 diskcomp 結束程式碼:

rem Checkout.bat compares the disks in drive A and B
echo off
diskcomp a: b:
if errorlevel 4 goto ini_error
if errorlevel 3 goto hard_error
if errorlevel 1 goto no_compare
if errorlevel 0 goto compare_ok
:ini_error
echo ERROR: Insufficient memory or command invalid
goto exit
:hard_error
echo ERROR: An irrecoverable error occurred
goto exit
:break
echo You just pressed CTRL+C to stop the comparison
goto exit
:no_compare
echo Disks are not the same
goto exit
:compare_ok
echo The comparison was successful; the disks are the same
goto exit
:exit