批处理文件
![本页使用了标题或全文手工转换](http://upload.wikimedia.org/wikipedia/commons/thumb/c/cd/Zh_conversion_icon_m.svg/35px-Zh_conversion_icon_m.svg.png)
![]() | 此条目或其章节需要精通或熟悉相关主题的编者参与及协助编辑。 (2014年9月26日) |
此条目没有列出任何参考或来源。 (2014年9月26日) |
扩展名 |
.bat .cmd .btm |
---|---|
格式类型 | 脚本语言 |
作为容器 | Shell script |
批处理文件(英語:Batch file),又称批次档,在DOS、OS/2、微软视窗系统中,是一种用来当成脚本语言运作程序的文件。它本身是文本文件,其中包含了一系列让具备命令行界面的解释器读取并执行的指令。它相当于是类Unix系统下的Shell script。
在DOS及Windows 9x操作系统家族中,批处理文件的文件扩展名为.bat。在OS/2及Windows NT操作系统家族,批处理文件的文件扩展名为.cmd。当执行批处理文件时,shell程序(通常是COMMAND.COM或cmd.exe)会读取文件内容,之后通常是以逐行的方式,执行它的命令。
语言特性
[编辑]批处理文件的每一条语句都是一个命令,换言之就是一个可以赋予参数运行的程序。这与Shell是相通的。
流程控制
[编辑]注释
[编辑]批处理文件的注释有两种方式:第一种是使用rem命令,其参数为注释内容;第二种是借用跳转标记的语法,因为跳转标记在批处理中不会被执行,可以以半角冒号(:)开头书写注释,类似于C语言的“//”与Python的“#”。
但是,有别于其他脚本语言,批处理并不支持行内注释。
以下的例子综合演示了两种注释:
rem 这是一个用rem命令写的注释
:这是一个用跳转标记写的注释
回显控制
[编辑]默认情况下,批处理文件的每条命令在运行时都会回显出来。回显,指的是命令的内容出现在提示符后,被系统输出。这一过程类似于我们手工在命令提示符中输入命令并运行,命令的文本是可见的。
但是,很多时候,在使用批处理设计一些交互式程序时,我们不希望回显干扰屏幕的显示。这时就可以对回显的内容进行控制。方法有两种:
- 局部关闭回显
- 只需在需要禁用回显的命令前加上“@”符号,那么该条命令就不会有回显。
- 全局关闭回显
- 使用命令“echo off”,其后的所有语句都不会有回显。若要重新打开,使用“echo on”。
值得注意的是,“echo off”语句本身也会有回显。因此通常为了完全关闭回显,也会在其前面加上“@”符号。
对其他批处理文件的调用
[编辑]使用“call”语句,可以在一个批处理文件中调用其他的批处理。
本地化操作
[编辑]批处理的Hello World程序
[编辑]将下列代码保存为一个批处理文件,双击或在命令解释器CMD或COMMAND.COM中运行。
@echo off
echo Hello world!
pause
编辑器支持
[编辑]批处理文件本质上是纯文本文件,使用Windows自带的“记事本”即可编写。而一些代码编辑器也为批处理文件提供了语法高亮的支持,批处理文件的内部命令,以及一些常用的系统命令都能够高亮标记出来。