如何检测 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 结尾处,则只需返回该结果。

属性

文章编号: 101884 - 最后修改: 2013年10月22日 - 修订: 1.0
这篇文章中的信息适用于:
  • Microsoft MS-DOS 6.0 标准版
  • Microsoft MS-DOS 6.2 标准版
  • Microsoft MS-DOS 6.22 标准版
关键字:?
kbnosurvey kbarchive kbmt KB101884 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 101884
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com