如何偵測 DoubleSpace 磁碟機從批次檔

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

101884
本文已封存。本文係以「現狀」提供且不會再更新。
此資訊適用於 Microsoft DoubleSpace 和 Microsoft 磁碟壓縮工具。MS-DOS 6.22 使用代替 DBLSPACE DRVSPACE 命令和檔名。
結論
MS-DOS 批次檔無法分辨的壓縮磁碟機及未壓縮的磁碟機。但是,您可以使用 MS-DOS 偵錯] 公用程式來建立設定取決於一個磁碟機與 DoubleSpace 是否壓縮過 errorlevel 的程式。MS-DOS 批次檔然後可以測試這個 errorlevel 如果要判斷磁碟機是否 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 是使用包含您要建立 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
    : AE
    -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) 呼叫。如果壓縮磁碟機然後會設定位元 7 BL。否則,它為零。這個結果只會傳回 ISDBL 結尾處。
参考
6.00 6.20

警告:本文已自動翻譯

內容

文章識別碼:101884 - 最後檢閱時間:10/22/2013 20:30:28 - 修訂: 1.0

  • Microsoft MS-DOS 6.0 Standard Edition
  • Microsoft MS-DOS 6.2 Standard Edition
  • Microsoft MS-DOS 6.22 Standard Edition
  • kbnosurvey kbarchive kbmt KB101884 KbMtzh
意見反應