接下来讲的是call命令: call的意思为调用.假如有2个批处理文件a.bat和b.bat.如果我想运行a.bat的当中运行b.bat.如何运行呢?其实很简单,只要在a.bat文件中输入call命令,则可以在a.bat运行的当中,运行b.bat,等b.bat运行完之后,继续执行a.bat call命令格式: CALL [drive:][path]filename [batch-parameters] batch-parameters 指定批处理程序所需的命令行信息。 举例如下,我们在c盘根目录下创建a.bat文件,内容为: echo this is a.bat call d:\b.bat echo done 然后在d盘根目录下创建b.bat,内容为: echo this is b.bat 保存后,打开cmd,进入c盘根目录,然后输入1.bat,显示如下: C:\&;a.bat C:\&;echo this is a.batthis is a.bat C:\&;call d:\b.bat C:\&;echo this is b.batthis is b.bat C:\&;echo donedone 由例子很容易看出来,是先运行a.bat的内容,直到遇到call b.bat后,则调用b.bat,运行完b.bat后,再返回a.bat接着运行call b.bat后面的echo done语句,直至将a.bat的所有批处理命令运行完. 注:里面有个[batch-parameters]里面的所指的参数是什么,知道的朋友能否告知,不胜感激. PAUSE 命令暂停批处理程序的执行并显示一条消息,提示用户按任意键继续执行。只能在批处理程序中使用该命令。
批处理文件参数: 有点编程基础的人都知道函数有参数.批处理文件也有参数. 我打个比方,希望能帮助没有语言基础的人也能看的非常明白. 我从例子里开始吧.首先在c盘根目录下创建一个批处理文件 a.bat,里面输入内容 echo %1 然后打开cmd,然后进入c盘根目录.输入:a "this is a canshu" 得到结果如下: C:\&;a.bat "this is a test" C:\&;echo "this is a test""this is a test"
输入的a "this is a canshu"中,a为新建的a.bat的文件名a(后面的.bat可写也可不写),而a后面的 "this is a canshu"这句话就是参数,写在这的参数,在程序运行中就将参数自动放到批处理程序中去.那么放在什么位置呢?就是放在%1的地方. 看了例子,让我们看看整个关于参数的定义如何: 批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符"%"。%[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。//我们上个程序的例子里就有%1,他就是参数,而输入中"this is a test"作为参数就直接放到%1的位置,于是程序就变成了 echo "this is a test".
再举几个例子帮助你理解: C:根目录下一批处理文件名为b.bat,内容为: @echo off type %1
//type为dos中的输出命令,可以用来输出文本文件的内容,比如我们新建一个1.txt文件 //里面输入内容,保存.进cmd,如果输入1.txt则看不了1.txt文件内容,但是如果我 //想看怎么办呢?这时候可以用type命令,只要在cmd里输入type 1.txt就能显示 //1.txt文件中的内容了 type %2 那么运行C:\&;b a.txt b.txt %1 : 表示a.txt %2 : 表示b.txt 于是上面的批处理命令就变成了 @echo off type a.txt type b.txt于是上面的命令将顺序地显示a.txt和b.txt文件的内容。 没有编程基础的人可能要问,干什么要弄个参数啊?在后面加个参数多麻烦啊?直接往里面写不就好了啊?!其实这样想有对的方面也有错的方面.还是举个例子说明吧. 第一步还是在c盘根目录下新建一个批处理文件,我们取名仍为a.bat.往里面的内容输入为: ping %1