在bat的应用中,很多人遇到的是如何让bat能够不快速运行后退出。但是有的却发现自传陔侔抒己的bat无法停止,这似乎看上去矛盾,其实是逻辑的误判导致的;本经验主要解决的就是如何停止以及如何加以利用。
工具/原料
bat程序
win系统
一:单bat程序无法关闭情况
1、我们创建一个cmd命名的bat文件,并且bat的内容也是cmd,此时运行后发现dos窗口中cmd不停运行,无法停止,并且没有任何cmd指令的回应。
二:针对单bat情况的解决办法
1、以上看上去似乎不合逻辑,其实是大家对逻辑的误判。解释:当我们执行bat文件时,文件内容执行cmd,这相当于回调了cmd.b锾攒揉敫at文件本身,然后依次执行该循环,无穷无尽。解决:我们只需要将文件更改为test.bat即可。也就是不要讲bat文件轻易命名为cmd,一定不要忽略这一点,请对关键词保持敬畏。
三:嵌套循环中连续无法退出情况
1、如果我们有两个bat文件,但是两者之间构成嵌套&引用关系,有时候也会遇到无限循环。
2、我们可以看一下文件指令本身,主程序test.bat的指令时cmd;而同目录下有一个cmd.bat文件,而cmd.bat本身的指令时cmd;注:同目录下的bat文件可以通过名称直接互相引用
3、当我们双击test.bat文件,相当于激活了cmd.bat文件,其又开始疯狂的回调其自身。
四:嵌套循环的解决办法
1、此时我们可以不修改cmd.bat的名称,我们将其内容修改为:@cmd.exe;此时就可以达到查看cmd指令内容的目的。注:相同功能下对cmd和cmd.exe进行选择时,请选择后者。
五:bat循环的妙用之一
1、看到以上,我们其实发现其用途还是很广泛的。例如其可以自动不间断的执行某些命令,简直就是状漤逗庞俄态机的存在。菀蒯踔观我们在cmd.bat文件的程序中,在第一行输入要执行的指令,最后以cmd结尾;则可以想到cmd.bat执行起来后,会连续的执行第一行指令。注1:程序中的pause可以不加入,加入只是为了让人选择是否再执行一次该指令。注2:该程序的奥妙就是最后以cmd结尾,或者其他和该bat文件相同名称的指令。
2、实际运行程序后,可以看到第一指令执行后,到了pause环节,我们可以轻触键盘,将程序再执行一次。也可以鼠标直接关闭dos窗口不进行继续执行。