如何检测 DoubleSpace 驱动器从批处理文件

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 101884
本文已归档。它按“原样”提供,并且不再更新。
此信息适用于 Microsoft DoubleSpace 和 Microsoft 磁盘空间管理。对于 MS-DOS 6.22 使用代替 DBLSPACE DRVSPACE 命令和文件名。
概要
MS-DOS 批处理文件不能区分压缩的驱动器和未压缩的驱动器。但是,可以使用 MS-DOS 调试实用程序创建的设置的错误级别,具体取决于是否压缩驱动器 DoubleSpace 的程序。一个 MS-DOS 批处理文件可以然后测试以确定驱动器是否是一个 DoubleSpace 压缩驱动器的此错误级别。

注: Microsoft 产品支持服务不会为此本文讨论将调试脚本或批处理文件写入提供的支持或解决与编译、 运行或使用此程序或批处理文件相关的问题。
更多信息
此下面是如何使用 MS-DOS 调试实用程序来创建称为 ISDBL.COM 程序文件的示例。ISDBL.COM 确定以下所示:

  • 是否已在内存中加载 DoubleSpace — 和 —

  • 指定的驱动器是否是 DoubleSpace 压缩驱动器
ISDBL.COM 返回以下 errorlevels:
   Results                         Errorlevel   ------------------------------------------   DoubleSpace compressed drive         1   DBLSPACE.BIN is not loaded           0   Invalid drive                        0   Other errors                         0				
注: ISDBL.COM 测试当前的驱动器,如果未指定驱动器在命令行上。

创建 ISDBL.COM

使用包含您需要输入从创建 ISDBL.COM DEBUG 内的所有命令一个调试脚本文件创建 ISDBL.COM。

若要进行 ISDBL.COM 请完全按照下列步骤操作:

  1. 创建文本文件,称为 C:\ISDBL.SRC 使用文本编辑器 (如 Windows 记事本或 MS-DOS 编辑器)。这是在调试脚本文件。 完全按照它们出现 C:\ISDBL.SRC 应包含以下各行。

    注: 按 ENTER 键下每一行的末尾。
          A 100      MOV AX,2901      MOV SI,81      MOV DI,012D      INT 21      MOV DL,[012D]      DEC DL      JGE 0119      MOV AH,19      INT 21      MOV DL,AL      MOV AX,4A11      MOV BX,1      INT 2F      MOV AX,4C00      AND BL,80      JZ 012B      INC AL      INT 21      RCX      AE      N ISDBL.COM      W      Q						
    注: 您必须按 ENTER 键两次后在最后一个"INT 21"行,并一次后"Q"末尾的在调试脚本。
  2. 从驱动器 C 上 MS-DOS 命令提示符输入以下命令来创建 ISDBL.COM 程序:
          DEBUG < ISDBL.SRC						
    调试读取和遵循 ISDBL.SRC 文件中的说明。建议您不要使用从 Windows 或其他程序正在运行时中的,此命令。如果 ISDBL.SRC 中包含错误调试可能被不告知何时退出 ; 因此,您必须重新启动系统。甚至可能进行调试指示导致您的系统停止响应 (挂起)。如果发生这种情况重新启动您的系统并检查 ISDBL.SRC 的准确性。

    如果在 ISDBL.SCR 中有没有错误的信息的几个屏幕显示结尾
    <nnnn>: 012B INT 21
    <nnnn>: 012D
    -RCX
    CX 0000
    : 自动曝光
    -N ISDBL.COM
    -W
    书写 000AE 字节
    -Q
    其中 <nnnn>是字母和数字的组合,确切组合的不同而不同。剩余的信息应是完全按照上述如果 ISDBL.COM 正确编译。

    调试将 ISDBL.COM 文件放在它上面示例中是 C:\ 当前目录中。它应该是大小为 174 个字节。

使用 ISDBL.COM

现在,您就可以获取有关特定驱动器的信息在批处理文件中运行该 ISDBL.COM 程序了。下面是一个示例批处理文件:

DBLTEST.BAT

   @ECHO OFF   REM This batch file uses ISDB.COM to test a drive to see if it   REM was compressed with DoubleSpace.   REM   REM DBLTEST.BAT assumes that ISDBL.COM in in the current   REM directory or a directory on the MS-DOS Path.   REM   REM The syntax for running this batch file is:   REM    DBLTEST <drive>:   REM   REM where <drive>: is the name of the drive to test, for example C:   REM If no drive is specified, the current drive is tested.   REM   ISDBL %1   IF NOT ERRORLEVEL 1 GOTO FAILURE   ECHO The drive %1 is a DoubleSpace compressed drive.   GOTO END   :FAILURE   ECHO The drive %1 is not a DoubleSpace compressed drive.   :END				

ISDBL 的工作原理

在确定是否压缩驱动器,ISDBL 假设 DoubleSpace 正在运行。

ISDBL 通过使用中断 2F 函数 4A11 检查指定的驱动器。 此函数是为 DoubleSpace 调用 DSGetDriveMapping 应用程序编程接口 (API)。如果压缩的驱动器,然后将设置位 BL 7。否则,它是零。ISDBL 结尾处,则只需返回该结果。
参考
6.00 6.20

警告:本文已自动翻译

属性

文章 ID:101884 - 上次审阅时间:10/22/2013 20:30:27 - 修订版本: 1.0

Microsoft MS-DOS 6.0 标准版, Microsoft MS-DOS 6.2 标准版, Microsoft MS-DOS 6.22 标准版

  • kbnosurvey kbarchive kbmt KB101884 KbMtzh
反馈