User:LumaEngine/沙盒
此條目或其章節需要精通或熟悉相关主题的编者参与及协助编辑。 (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自带的“记事本”即可编写。而一些代码编辑器也为批处理文件提供了语法高亮的支持,批处理文件的内部命令,以及一些常用的系统命令都能够高亮标记出来。