一个小白的BAT 文件编写之路


修改工程代码的时候经常看到这个文件,也对里面的一些内容做过简单的修改,但是如果让我新增一个功能时,对语法等还是有一些困惑的。

首先什么是BAT文件?

BAT文件也就是我们常说的批处理文件。批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件

下面来看一下常用的命令:

echo 表示显示此命令后的字符 

echo off 表示在此语句后所有运行的命令都不显示命令行本身 

@与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。 

pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续 

注释语句:

段注释:

goto start

:start

(从goto到:start 中间的语句都是注释语句)

:: 注释内容

rem 注释内容(不能出现重定向符号和管道符号)表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。

%注释内容% (可以作为行间注释,不能出现重定向符号和管道符号)

一般批处理命令是从上到下顺序执行的,但是,如果遇到if...else 这样根据不同的条件进行不同操作的情况,常规的执行规则是不能完成任务的,那么就需要使用流程跳转了。

流程跳转是用来改变程序的默认执行顺序,强制调转到指定的位置执行特定的程序块的。

下面来看一下流程跳转语句也就是goto语句的格式:

GOTO 标识符

:标识符

执行内容

exit (一个标识完成记得使用exit 退出,不然会连续执行后面的语句,就像switch case中没有使用break一样)

这里注意一下标识符不能使变量,只能是常量

这里也有另外一个问题就是如果标识符里面的语句执行完了,就会退出,如果这个标识符的后面还有需要执行的语句,那么就出问题了,看到说可以使用连接符,连接不同的语句,我试了下,并没有成功,就使用了一个比较笨的办法,如果有需要继续执行的语句,就在一个标识符的后面添加goto 语句,继续进行跳转,不知道有没有其他比较好的办法。

比如下面:

A 与B是两个平行的模块,要么A要么B,但是都要去执行C

:A

:B

:C

call 可以用来调用另一个批处理文件,调用完成后会回到该文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。 

你可能感兴趣的:(BAT,GOTO,call,注释)