批处理 函数参数

1 函数参数的传递

call :函数名 参数1, 参数2… 参数n

说明

参数之间用逗号隔开。


示例

call :sum 100,110

调用函数sum,传递两个参数,参数值分别是100,110。


2 参数的获取

函数内部通过%~1 %~2 %~n来获取相应参数。


示例

  echo 参数1:%~1,参数2:%~2

3 完整代码

@ echo off

echo 计算从100到110之间的和
call :sum 100,110

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%
goto:eof

运行结果

img


4 参数中使用变量

与变量的用法一致,call命令中的变量也需要使用%变量名%。

上述代码中将两个参数改为变量,代码如下

set start=100
set end=110
call :sum %start%, %end%