主页 : 帮助中心 :答案

Q: .BAT和.EXE文件有什么区别?

A: BAT和EXE文件在表面上看起来似乎相同。 例如,这两个文件通常位于程序的根安装目录中,并且两个文件在打开时都运行。 通常,它们甚至具有相同的Windows 图标。 对于普通用户, 。BAT 。EXE 文件看起来几乎相同。 但是,仔细查看BAT和EXE文件,可以发现它们实际上是完全不同的,即使它们通常可以达到相同的最终用户目的。

A 。BAT (“批处理”的缩写)文件是一个 纯文本 包含一系列Windows命令的文件。 一个 。EXE (“可执行文件”的缩写)文件是一个二进制文件,其中包含更为复杂的可执行二进制代码。

BAT文件

BAT文件图标 BAT文件是简单的文本 脚本,并且可以在其中创建和修改 文本编辑器 程序,例如Microsoft记事本或写字板。 BAT文件使用的语言不太难学,尤其是出于简单脚本目的。 创建BAT文件的一种简单方法是先创建一个 TXT。 文件,将其保存,然后将其扩展名更改为“ .bat”。 您可以直接在文本编辑器程序中重新打开新的BAT文件以更改代码。

注意NOTE: 假定它会在文本编辑器中打开,请小心不要双击BAT文件,因为Windows可能会执行该代码。

运行BAT文件时,该代码由称为Windows命令行解释器(CLI)的Windows内置实用程序执行。 这是一个 ”允许用户键入和执行类似DOS的命令的程序。Windows CLI执行BAT文件时,将依次执行每个命令,直到所有命令完成为止。有趣的是,BAT文件实际上是由名称为EXE的程序运行的 CMD.EXE.

以下是截图 CMD.EXE 程序:

CMD.EXE截图

以下代码来自一个简单的批处理文件,该文件创建带有字符串“ m33.wiki-文件扩展名资源”的文本文件,然后使用Microsoft记事本打开文件:

REM-example.bat
@ECHO关闭
ECHO m33.wiki-文件扩展名资源> output.txt
启动NOTEPAD.EXE output.txt

EXE文件

EXE文件图标 EXE文件与BAT文件不同,因为它们包含可执行文件 二进制 数据而不是纯文本命令。 它们以可移植可执行(PE)格式存储,Windows在32位和64位操作系统中都使用该格式来存储可执行文件。 EXE文件格式包括各种标题和部分,这些标题和部分告诉Windows如何运行程序。 EXE文件的某些部分可能包含程序代码,而其他部分可能包含资源数据。 打开EXE文件时,Windows将可执行代码放入 记忆,然后运行程序。

与BAT文件不同,EXE文件由于其复杂性而很少手动构建。 几个开发商 集成开发环境,例如Microsoft Visual Studio,允许开发人员为其程序创建可执行文件。 这些发展计划 将程序代码打包成EXE文件,并将必要的资源文件与应用程序捆绑在一起。 其他程序(例如Corel WinZip,Microsoft IExpress和Flexera InstallShield)可用于创建自解压 档案 or 安装 可执行文件。 这些程序指导用户完成将文件和资源捆绑到单个EXE文件或与其他安装文件资源捆绑在一起的EXE文件的过程。

总结

尽管EXE和BAT文件通常具有相似的用途,但它们使用完全不同的文件格式。 两种文件类型都可以用于在Windows中创建可执行内容,但是BAT文件在它们可以执行的命令中受到限制。 由于BAT文件包含人类可读的文本,因此可以轻松对其进行编辑,因此经常用于自定义脚本任务。 另一方面,EXE文件包含使用编译器构建的复杂二进制数据。 由于EXE文件比BAT文件支持更复杂的命令,因此大多数Windows 应用 以EXE格式保存。

更新:六月15,2011