在尋找可執行檔的優先順序排列)

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

按一下這裡查看此文章的英文版本:35284
本文已封存。本文係以「現狀」提供且不會再更新。
結論
本文將告訴您下列:

  • COMMAND.COM 如何尋找可執行檔
  • 優先順序參與此搜尋
  • 如何順序可覆寫在 MS-DOS 版本 4.x 及更新版本
  • 在 [檔案名稱辨識 COMMAND.COM 與差異 MS-DOS EXEC 系統呼叫
其他相關資訊

COMMAND.COM

COMMAND.COM 可以執行輸入的命令列上] 或 [以批次檔中,一行一個檔案。

4.0 版以前的 MS-DOS 版本

指定檔案名稱,提供延伸,時會 COMMAND.COM 會保持主檔名。(COMMAND.COM 副檔名如果移除 [適用範例為 FILE 」 保持如果檔案名稱是 FILE.EXE"] 存在的話)。在下列具有此名稱的可執行檔的順序有基底名稱之後外觀 COMMAND.COM:
   .COM  .EXE  .BAT				
如果 COMMAND.COM 無法在目前的磁碟機目前的目錄中找到此檔案,它會開始搜尋 PATH 環境變數,在指令檔中所指定的目錄。如果找不到這類檔案,就會顯示下列錯誤訊息:
錯誤的命令或檔案名稱
範例如果目前的目錄中有三個檔案: FILE.COM、 FILE.EXE,與 FILE.BAT,以及您嘗試執行其中藉由輸入 FILE.COMFILE.EXEFILE.BAT,或 檔案、 COMMAND.COM 執行只 FILE.COM 因為這是第一個找到的檔案。

4.0 版及更新的 MS-DOS 版本

在 MS-DOS 版本 4.0 版及更新您可以輸入副檔名為命令中覆寫 COM EXE BAT 優先順序。

範例如果目前的目錄中有三個檔案: FILE.COM、 FILE.EXE,與 FILE.BAT,以及您嘗試執行其中藉由輸入 FILE.COMFILE.EXE,或 FILE.BAT、 COMMAND.COM 執行您指定的一個。不過,如果給定沒有副檔名平常就的順序優先使用 (.COM、.EXE 和.BAT)。

這種行為的一個副作用是一些不正確或有利的方法的執行檔無法再運作。比方說在的 MS-DOS 版本早於 4.0,您可以執行 FILE.BAT 藉由輸入檔案名稱以句點,其後 FILE。不過,在 MS-DOS 4.0 及更新版本中,如果您鍵入 FILE、 MS-DOS 搜尋這個名稱的檔案找不到其中一個,並且會傳回"錯誤的命令或檔案名稱 」 錯誤訊息。

5.0 或更新的 MS-DOS 版本

5.0 或更新的 MS-DOS 版本搜尋的檔案以下列順序:
   DOSKEY Macro  .COM  .EXE  .BAT				
For 範例如果目前的目錄中有三個檔案: FILE.COM、 FILE.EXE 和 FILE.BAT,並也沒有名為 FILE DOSKEY 巨集,巨集指定優先順序並執行時 FILE 執行從命令列的目前的目錄。這是 MS-DOS 的不在較早版本中,,則為 True 時,沒有 DOSKEY 巨集功能。

而且,在 MS-DOS 版本 5.0 版和以後 DOSKEY 巨集其優先順序高於內部的命令。若要覆寫 DOSKEY 巨集,鍵入指令之前的一或多個空格。

EXEC 函式

MS-DOS EXEC 函式 (插斷 21 h 服務 4Bh) 不瞭解的副檔名,因此,它只會叫用 (Invoke) 時,所指定的檔案名稱並嘗試加以執行。

這個缺乏檔名資訊是有可執行檔的檔案的程式的好處。這類檔案是裝置驅動程式 (其通常具有副檔名.SYS) 或覆疊檔 (通常具有副檔名.OVL)。COMMAND.COM 無法執行這些檔案,只有明確地呼叫 EXEC 函式的程式可以執行這類的程式。

EXEC 函式能夠了解只所的檔案在大多數情況下.COM 和.EXE 副檔名。不能執行.BAT 檔案 ; 這些檔案是特別 「 執行 」,每次 COMMAND.COM 由一行。
6.22 4.00 4.00a 4.01 4.01a 5.00 5.00a 6.00 6.20

警告:本文為自動翻譯

內容

文章識別碼:35284 - 最後檢閱時間:12/04/2015 09:02:56 - 修訂: 2.0

Microsoft MS-DOS 4.0 Standard Edition, Microsoft MS-DOS 4.01 Standard Edition, Microsoft MS-DOS 5.0 Standard Edition, Microsoft MS-DOS 5.0a, Microsoft MS-DOS 6.0 Standard Edition, Microsoft MS-DOS 6.2 Standard Edition, Microsoft MS-DOS 6.21 Standard Edition, Microsoft MS-DOS 6.22 Standard Edition

  • kbnosurvey kbarchive kbmt KB35284 KbMtzh
意見反應