进程间的调用

批处理可以很方便的调用外部程序,这也是为什么很多windows上的程序都喜欢用批处理作为启动文件。

很多时候,一个批处理文件并不能解决所有问题,把所有内容写在一个文件里也很不美观,还好我们有start,call等等命令帮助我们调用外部的程序和命令,我们甚至可以直接调用vbs来做更强大的处理。

赶快拿起你手边的电话,给他们打电话吧~

7 和其他程序协同工作_批处理

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 语法和有效的宿

主参数。