|
子程序语法:
:lable
comand-1
command-2
...
comand-x
goto :eof
子程序一般放在最后,并且要注意在主程序最后要加上 exit 或跳转语句,避免错误的进入子程序。
子程序和主程序中的变量都是全局变量,其作用范围为整个批处理程序。
示例代码:
- @echo off
- call :test
- echo "back from sub"
- pause
- :test
-
- echo "In sub"
- goto :eof
复制代码
上面给出了调用子程序的格式(实际上还可以接上参数):
arguments 是传到子程序中的参数,在子程序中用 %1, %2, %3 的形式调用,而子程序返回主程序的数据只需在调用结束后直接引用就可以了,当然也可以指定返回变量,比如:
- @echo off
- call :test ret "hello world"
- echo return from sub : %ret%
- pause
- :test
-
- set %1=%2
- goto :eof
复制代码
输出结果:
B:\>tmp.bat
return from sub : "hello world"
请按任意键继续. . .
子程序返回测试程序2:
- @echo off
- set sum=0
- call :test sum 3 5 8
- echo sum : %sum%
- pause
- :test
-
- set /a %1=%1+%2
- shift /2
- if not "%2"=="" goto test
- goto :eof
复制代码
输出结果:
B:\>tmp.bat
sum : 16
请按任意键继续. . .
注意,%0 参数是 :lable 标签。
|
|