您当前的位置:首页 > 计算机 > 编程开发 > DOS/BAT与(脚本)

bat批处理脚本 函数使用说明 函数调用结果如何返回

时间:04-14来源:作者:点击数:

BAT批处理脚本也可以使用函数,函数可以带参数,并且返回结果。但是批处理脚本的函数调用返回结果处理却不是很友好,处理起来相对麻烦。本文详细讲解函数定义、函数调用及调用结果如何返回。

1、代码案例

vfunc.bat

@echo off
echo sum1 a b, return with global variable.
set a=10
set b=20
call :sum1 %a% %b%
echo sum1(%a%,%b%)=%result1%
echo=

echo sum2 a b, return with argument.
set a=10
set b=20
call :sum2 %a% %b% result2
echo sum2(%a%,%b%)=%result2%
echo=

goto :eof

:sum1
set /a result1=%~1 + %~2
goto :eof

:sum2
set /a r3=%~1 + %~2
set "%~3=%r3%"
goto :eof

cmd命令框运行结果

D:\cmdtest\lianxi>vfunc.bat
sum1 a b, return with global variable.
sum1(10,20)=30

sum2 a b, return with argument.
sum2(10,20)=30

代码说明:

1)函数定义

:sum1
set /a result=%~1 + %~2
goto :eof

注意:函数体执行完毕,别忘了goto :eof,结束函数执行

2)函数调用

call :sum1 %a% %b%
call :sum2 %a% %b% result2
rem 函数调用结果处理
2、两种返回结果方式说明

1)全局变量

代码中函数sum1,以全局变量实现返回结果

  • sum1函数体内,给变量result1赋值
  • 调用sum1函数后,获取变量result1值

2)参数形式返回结果

函数sum2,以参数形式返回结果,类似高级语言的参数引用传递,实现格式如下:

  • sum2 arg1 arg2 引用参数result2
  • sum2 函数体内修改result2值,如:set “%~3=%r3%”
  • sum2 函数调用结束后,取参数result2值,%result2%
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门