批处理 函数返回值
批处理函数返回值可以通过两种方法:
1)通过返回参数进行返回。
函数中添加返回参数,并设置返回参数的值
2)通过全局变量进行返回。
在函数内部把返回值赋给一个自定义变量,需要访问的地方使用这个变量。但不建议使用,容易变量混淆与混乱。
下面介绍通过返回参数进行返回。
1 返回参数的传递
语法
call :函数名 参数1, 参数2… 参数n,返回参数1,返回参数2…
说明
1)返回参数无需通过set进行预先声明
2)call进行调用时无需使用%
3)一个函数中可以设置多个返回值数
示例
call :sum 1,10,ret_sum
2 返回参数的设置
与普通参数一样,函数内部%~3 %~n按相应顺序来获取相应参数。
示例
set %~3=%result%
3 完整代码
@ echo off
echo 计算从1到5之间各数的和与积
call :sum 1,10,ret_sum
echo 和(返回值)为:%ret_sum%
pause
exit /B 0
:sum
echo 调用函数sum执行求和. xiaobuteach.com
echo 参数1:%~1,参数2:%~2
set /a result = 0
for /L %%i in ( %~1 1 %~2) do (
set /a result = result + %%i
)
echo 结果为:%result%
set %~3=%result%
goto:eof
运行结果