进程间的调用
批处理可以很方便的调用外部程序,这也是为什么很多windows上的程序都喜欢用批处理作为启动文件。
很多时候,一个批处理文件并不能解决所有问题,把所有内容写在一个文件里也很不美观,还好我们有start,call等等命令帮助我们调用外部的程序和命令,我们甚至可以直接调用vbs来做更强大的处理。
赶快拿起你手边的电话,给他们打电话吧~
Start命令:
批处理中调用外部程序的命令,例如
start explorer d:\
调用图形界面打开D盘
Call命令:
CALL命令可以在批处理执行过程中调用另一个批处理,例如
call test2.bat
调用目录下的另一个批处理文件test2
Q.这两个命令好像长的差不多啊?
A.是的,他们的常用格式基本相同,区别在于,start命令运行外部程序或命令后,批处理在调用成功后就会继续执行下面的命令,不会顾及那个调用的程序;而call命令,则会等待调用的程序执行完毕(注意是完毕,执行是否成功),才会继续执行下面的内容。
另外,call命令还有其他丰富的用法。
子程序
CALL除了调用外部程序,也可调用其他批处理程序,这些也可以看作子程序,但是不够方便,如果被调用的程序很多,就显得不够简明了,很繁琐。在windowsXP中,批处理可以调用本程序中的一个程序段,相当于子程序,这些子程序一般放在主程序后面。格式:
CALL :label arguments
子程序语法:
:label
command1
command2
......
commandn
goto :eof
在子程序段中,参数%0指标签:label
子过程一般放在最后,并且注意在主程序最后要加上exit或跳转语句,避免错误的进入子过程。子程序和主程序中的变量都是全局变量,其作用范围都是整个批处理程序。传至子程序的参数在call语句中指定,在子程序中用%1、%2至%9的形式调用,而子程序返回主程序的数据只需在调用结束后直接引用就可以了,当然也可以指定返回变量,请看下面的例子。
调用VBS
使用 Windows 脚本宿主,可以在命令提示符下运行脚本。CScript.exe 提供了用于设置脚本属性的命令行开关。
用法:CScript 脚本名称 [脚本选项...] [脚本参数...]
选项:
//B 批模式:不显示脚本错误及提示信息
//D 启用 Active Debugging
//I 交互模式(默认,与 //B 相对)
//Logo 显示徽标(默认)
//Nologo 不显示徽标:执行时不显示标志
//S 为该用户保存当前命令行选项
//T:nn 超时设定秒:允许脚本运行的最长时间
//X 在调试器中执行脚本
//U 用 Unicode 表示来自控制台的重定向 I/O
“脚本名称”是带有扩展名和必需的路径信息的脚本文件名称,如d:\admin\vbscripts\chart.vbs。
“脚本选项和参数”将传递给脚本。脚本参数前面有一个斜杠 (/)。每个参数都是可选的;但不能在未
指定脚本名称的情况下指定脚本选项。如果未指定参数,则 CScript 将显示 CScript 语法和有效的宿
主参数。