批处理 函数返回值

批处理函数返回值可以通过两种方法:

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

运行结果

img