中查找可执行文件的优先的顺序

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

点击这里察看该文章的英文版: 35284
本文已归档。它按“原样”提供,并且不再更新。
概要
本文讨论了下列:

  • 如何 COMMAND.COM 找到可执行文件
  • 此搜索中所涉及的优先级顺序
  • 在 MS-DOS 版本 4.x 版和更高版本可以在订单重写的方式
  • 调用之间 COMMAND.COM 和 MS-DOS EXEC 系统文件名识别的差异
更多信息

COMMAND.COM

COMMAND.COM 可执行文件键入命令行上或在批处理文件中的行。

MS-DOS 版本早于版本 4.0 版本

当文件名给出提供扩展名时,COMMAND.COM 使保持基名称。(COMMAND.COM 删除文件扩展名如果 [例如如果文件名是"FILE.EXE"的"FILE"保持] 存在的话)。它具有的基名称后,COMMAND.COM 看起来为具有此名称的可执行文件的顺序如下:
   .COM  .EXE  .BAT				
如果 COMMAND.COM 无法在当前驱动器的当前目录中找到该文件,它将开始搜索 PATH 环境变量在命令文件中指定的目录。如果没有找到这样的文件,则将显示以下错误消息:
错误的命令或文件名
如果在当前目录中有三个文件的示例为: FILE.COM、 FILE.EXE,和 FILE.BAT,和您尝试通过键入 FILE.COMFILE.EXEFILE.BAT,执行其中之一或 FILE、 COMMAND.COM 执行只 FILE.COM,因为这是第一个找到的文件。

MS-DOS 版本 4.0 和更高

在 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 搜索此的名称的文件找不到一个,并返回"错误命令或文件名称"错误消息。

MS-DOS 版本 5.0 和更高

MS-DOS 版本 5.0 及更高版本中搜索文件按以下顺序:
   DOSKEY Macro  .COM  .EXE  .BAT				
例如在当前目录中有三个文件: FILE.COM、 FILE.EXE 和 FILE.BAT,和,还有一个名为 FILE 的 DOSKEY 宏,宏是优先,文件从当前目录的命令行运行时执行。这是 MS-DOS 的不在早期版本,true 时没有 DOSKEY 宏功能。

此外,在 MS-DOS 版本 5.0 及更高版本中,DOSKEY 宏对内部命令具有的优先级。重写 DOSKEY 宏,键入该命令之前的一个或多个空格。

EXEC 函数

MS-DOS EXEC 函数 (中断 21 h 服务 4Bh) 不能理解的文件扩展名 ; 因此,它只需采用指定调用时该文件的名称并试图执行它。

没有文件名信息并具有可执行文件的文件的程序的优点。此类文件是设备驱动程序 (它们通常具有扩展名.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

警告:本文已自动翻译

属性

文章 ID:35284 - 上次审阅时间:12/04/2015 09:02:55 - 修订版本: 2.0

Microsoft MS-DOS 4.0 标准版, Microsoft MS-DOS 4.01 标准版, Microsoft MS-DOS 5.0 标准版, Microsoft MS-DOS 5.0a, Microsoft MS-DOS 6.0 标准版, Microsoft MS-DOS 6.2 标准版, Microsoft MS-DOS 6.21 标准版, Microsoft MS-DOS 6.22 标准版

  • kbnosurvey kbarchive kbmt KB35284 KbMtzh
反馈