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

文章翻譯 文章翻譯
文章編號: 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 結尾處。

屬性

文章編號: 101884 - 上次校閱: 2013年10月22日 - 版次: 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
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本: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