bat的基本语法都很简单
这里主要详细描述一下在bat中调用其他的程序或者bat时可以使用的两种方式的差异:call & start
调用范围:
CALL主要用来进行批处理的内部调用如CALL:PEND和一些DOS命令的调用如CALL SET TEST=2,但也可以调用其他可执行文件
而START则不能进行内部调用,但其可以执行基本上所有的外部程序,还可以执行SHELL,如打开文件夹START "" "%WINDIR%",安装网络打印机START "" "\\IP\Printer",同时需要注意有无START调用外部程序的区别;
调用方式:
CALL实际上调用,被调用的可执行文件在调用的窗体中执行,也就意味着两者在同一个上下文中,可以共享变量;
反之,start是执行,被调用的可执行文件在新的进程里执行;
start可以引入b参数,代表 被调用的可执行文件执行完毕后自动关闭;
w参数,代表 调用bat等待 被调用的可执行文件执行完毕后 继续运行;
虽然START可以加入B参数,但其结果却完全不同.如我们使用CALL SET TEST=2和START /B SET TEST=2看似执行的结果相同,
调用结果:
CALL调用不仅可以把参数或变量传给被调用的批处理,而且被调用的批处理也可以设置参数或变量以便回传
而START只能把参数或变量传给被调用的批处理,却不能回传参数或变量