您的位置:首页 > 编程语言 > Go语言

一天一篇批处理之——Part4:流程控制及调用命令goto,call,start

2016-10-02 14:03 369 查看
一天一篇批处理之——Part4:流程控制及调用命令goto,call,start
一,goto
goto是一个流程控制转向的命令,命令在运行到goto时会跳过该语句下面的指令,转到运行goto链接的标签后面的命令。goto命令是成套出现的。如”goto tag”和”:tag”是配套使用的。

例1.1

echo welcome to our blog

goto csdn

echo welcome to my blog

:csdn

echo welcome to CSDN blog

显示:
welcome to our blog

welcome to CSDN blog
这里在运行完echo welcome to our blog 后goto命令使得跳过了echo welcome to our blog,而是到以:csdn标签为开头接着运行后名的命令echo welcome to CSDN blog。
二,call
call是一个命令调用/程序调用的命令,可以用来调用其他批处理程序,如例2.1;也可以用来调用指定标签,但是这种用法跟goto不同的是,call在调用指定标签时,在运行完标签后所有命令后会回到调用时的位置继续运行命令,而不是简单的跳过中间命令,如例2.2。

例2.1

echo welcome to A blog

call b.bat

echo welcome to C blog

显示:
welcome to A blog

welcome to B blog

welcome to C blog

注:其中b.bat文件中只有一条命令,即echo welcome to B blog

例2.2

echo welcome to A blog

call :b

echo welcome to C blog

:b

echo welcome to B blog

显示:
welcome to A blog

welcome to B blog

welcome to C blog

welcome to B blog
这个例子是call调用程序中内部标签,在运行到call时,先运行call标签所指后面的命令,在运行完标签后面的命令后又回到call语句后的命令接着运行。可以试想一下这里换成goto b后会是什么样的结果?
三,start
Start也是用来调用其他程序的命令,但是与call不同的是,start在调用其他程序时是在新的窗口执行,效果相当于在执行到start命令时双击打开了它所调用的程序。

例3.1

echo welcome to A blog

start b.bat

echo welcome to C blog

这时会有两个显示窗口

窗口1显示:
welcome to A blog

welcome to C blog

窗口2显示:
welcome to B blog
(注:b.bat文件中命令只有echo welcome to B blog)

当然这是最简单的例子,start命令是可以加上一些参数/开关来达到自己想要的运行效果。

例3.2

echo welcome to A blog

start "显示b.bat批处理" /dD:\ /max /wait b.bat

echo welcome to C blog

这时也会有两个显示窗口

窗口1显示:
Welcome to A blog
窗口2显示:
welcome to No.1 blog
在窗口2输入exit退出后,窗口1显示
Welcome to A blog

Welcome to C blog
这里用到了如下参数/开关:

1. "显示b.bat批处理":指定在窗口2标题栏显示标题为“显示b.bat批处理”;

2. /dD:\:指定调用文件的目录,即后面调用的b.bat文件是在D盘下面,而不是例3.1中调用的b.bat;

3. /max:启动b.bat时窗口最大化,当然/min就是让其最小化了;

4. /wait:这个开关是要让所调用的程序走完才能继续运行原来程序的命令;

这也只是使用频率较高的参数,还有其他一些优先级等参数读者可以自己网上查阅。
 

PS:纯手工制作,新人一枚,一起学习,个人笔记,如有不妥,感谢指正!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐