diskcomp

比较两个软盘的内容。 如果不带参数使用,diskcomp 将使用当前驱动器来比较两个磁盘

语法

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

参数

参数 说明
<drive1> 指定包含其中一个软盘的驱动器。
/? 在命令提示符下显示帮助。

备注

  • diskcomp 命令仅适用于软盘。 不能对硬盘使用 diskcomp。 如果为 drive1 或 drive2 指定硬盘驱动器,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)?
    

    如果按 Y,diskcomp 将提示插入磁盘以进行下一次比较。 如果按 N,diskcomp 将停止比较

  • 如果省略 drive2 参数,diskcomp 将为 drive2 使用当前驱动器。 如果省略两个驱动器参数,diskcomp 将为两个驱动器均使用当前驱动器。 如果当前驱动器与 drive1 相同,diskcomp 将提示你根据需要交换磁盘

  • 如果为 drive1 和 drive2 指定相同的软盘驱动器,diskcomp 将使用一个驱动器对它们进行比较,并提示你根据需要插入磁盘。 可能需要多次交换磁盘,具体取决于磁盘的容量和可用内存量。

  • Diskcomp 无法将单面磁盘与双面磁盘进行比较,也无法将高密度磁盘与双密度磁盘进行比较。 如果 drive1 中的磁盘与 drive2 中的磁盘类型不同,diskcomp 将显示以下消息

    Drive types or diskette types not compatible
    
  • Diskcomp 在网络驱动器或 subst 命令创建的驱动器上不起作用。 如果尝试将 diskcomp 用于其中任一类型的驱动器,diskcomp 将显示以下错误消息

    Invalid drive specification
    
  • 如果对使用 copy 创建的磁盘使用 diskcomp,diskcomp 可能会显示类似于以下内容的消息

    Compare error on
    side 0, track 0
    

    即使磁盘上的文件相同,也会发生此类错误。 尽管 copy 会复制信息,但它不一定会将其放置在目标磁盘上的同一位置

  • diskcomp 退出代码

    退出代码 说明
    0 磁盘相同
    1 已找到差异
    3 发生了硬错误
    4 发生了初始化错误

    若要处理 diskcomp 返回的退出代码,可以在批处理程序中的 if 命令行上使用 ERRORLEVEL 环境变量

示例

如果计算机只有一个软盘驱动器(例如,驱动器 A),而你想要比较两个磁盘,请键入:

diskcomp a: a:

Diskcomp 会提示你根据需要插入每个磁盘

说明如何在批处理程序中处理 diskcomp 退出代码,该程序在 if 命令行上使用 ERRORLEVEL 环境变量

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