命令提示 (Cmd.exe) 运行没有可执行文件扩展名的文件

文章编号: 811528 - 查看本文应用于的产品
展开全部 | 关闭全部

症状

当您使用命令提示(Cmd.exe 或 Windows 命令处理器)打开没有可执行文件扩展名的文件时,该文件可能作为程序运行,而不是在为该文件类型注册(根据文件扩展名)的程序中打开。

例如,如果在命令提示符下键入 filenamefilename.txt,则 Filename.txt 可能作为程序运行,而不是在记事本中打开。如果在批处理 (.bat) 文件或 Windows NT 命令脚本 (.cmd) 文件中以命令行形式调用文件,则也可能出现此问题。

原因

如果存在下列情形,则可能会发生此问题:
  • 文件是包含可执行标头的二进制图像。例如,文件是已经用不同的文件扩展名重命名的 .com 或 .exe 文件。
  • 您没有为 Cmd.exe 指定用于打开文件的程序。
在命令提示符下键入文件名时,或者将文件名用作批处理文件或 Windows NT 命令脚本中的命令行时,Cmd.exe 调用 CreateProcess 函数以打开文件。CreateProcess 函数检查文件的内容。如果文件的二进制图像包含可执行标头(它表示该文件实际上是 .com 或 .exe 文件),则该文件作为程序运行。此行为与以前版本的 Windows NT 兼容。

替代方法

使用 Windows 资源管理器打开文件,或者使用以下命令行在适当程序中打开文件:
program filename.ext
例如,要在记事本中打开 Filename.txt,请使用以下命令行:
notepad filename.txt

更多信息

一些文件包含病毒,如果在打开它们之前不采取预防措施,则会损坏您的计算机。如果您不确信文件是安全的,请在打开文件之前采取预防措施,例如:
  1. 使用病毒扫描程序检查文件。
  2. 保存您所做的工作并退出其他程序。
  3. 与 Internet 断开连接或断开任何其他网络连接。
Cmd.exe 能够识别具有 .com、.exe、.bat、.cmd、.vbs、.js 和 .ws 扩展名的文件,以及具有由 PATHEXT 环境变量定义为可执行文件的其他扩展名的文件,但是如果文件的二进制图像包含可执行标头,Cmd.exe 也可以运行不具有这些已知扩展名的文件。

Windows 和 Microsoft Internet Explorer 在打开文件之前会执行另外的检查,包括确定任何程序是否与注册表中的文件扩展名关联。此 MIME 类型检测使 Windows 资源管理器和 Internet Explorer 可以查找并启动与文件扩展名关联的对象服务器或程序。

参考

有关计算机病毒的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
129972 Description of Computer Viruses
有关 MIME 类型检测的其他信息,请访问下面的 Microsoft Web 站点:
http://msdn2.microsoft.com/en-us/library/ms775147.aspx
有关 CreateProcess 函数的其他信息,请访问下面的 Microsoft Web 站点:
http://msdn2.microsoft.com/en-us/library/ms682425.aspx

属性

文章编号: 811528 - 最后修改: 2007年12月1日 - 修订: 2.2
这篇文章中的信息适用于:
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Media Center Edition
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Workstation 4.0 开发员版
关键字:?
kbprb KB811528
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈