1. 子过程
1-1 Goto:eof
:主程序
1.***代码*** ///其它代码
2.call/goto :子程序 ///调用子程序
3.***代码*** ///其它代码
4.goto :eof ///这里脚本结束
:子程序
***代码***
goto :eof ///这里是子程序的结束,运行到这里脚本返回去执行2以后的代码
一个脚本中可能会有多少个子程序代码
调用这些子程序代码时必须以goto :eof结束
脚本才会返回起始调用的代码继续主程序后续的代码
如果主程序遇到goto :eof将结束退出脚本
子程序代码放在整个脚本尾部时要在主程序结束时放goto :eof
不然脚本一直向下执行子程序代码引起出错
1-2 一个例子
@echo off
set a=5
set b=4
call :add %a% %b%
echo 两个数的和为%sum%
pause
exit
:add
set /a sum=%1+%2
echo %%1是%1
echo %%2是%2
goto :eof
2.其他
2-1 批处理文件参数和函数参数:
有点变成基础的人都知道函数有参数.批处理文件也有参数.
我打个比方,希望能帮助没有语言基础的人也能看的非常明白.
我从例子里开始吧.首先在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".
2-2 SET /a , SET /p
SET /A expression
expression 为一个数字表达式
如:
@echo off
SET /a sum=1+2
echo %sum%
Pause<