综述
Windows bat脚本是一种解释性的脚本语言,可以拿到做很多事情。对于稍简单的问题:比如通过注册表判断下档期机器的语言啊,国家啊,安装了那些软件啊等等还少诶简单。但是如果有可能使用bat脚本来处理较复杂的问题时,就需要用函数来将其模块化,方便bat脚本的阅读和编写。下面来介绍下bat 函数的用法
bat函数写法
如下是一个最简单的函数写法;以**:func开始以 goto:eof **结束。:func和goto:eof之间的为函数内容,例如这里的echo this is a bat func
1 2 3
| :func echo this is a bat func goto:eof
|
bat函数调用
写好了bat函数之后,我们需要调用它。如下代码片段展示了如何在bat脚本中调用函数。其实很简单,就这一句call:func即可。
1 2 3 4 5
| call:func pause :func echo this is a bat func goto:eof
|
bat函数返回值
目前我了解到的bat函数返回值的获取有如下两种方法:
这里直接贴上关于bat函数的各种条件的验证代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| echo off color 0d echo bat Function example echo ================================= echo ==========Func No paramter ====== echo ================================= echo before call myFuncNoPara call:myFuncNoPara echo after call myFuncNoPara echo ================================= echo ===========Func has paramter===== echo ================================= echo before call myFuncHasPara call:myFuncHasPara 123 abc echo after call myFuncHasPara echo ================================= echo =======Func with return value==== echo ================================= set return=123 set returnPara=321 echo return:%return% echo returnPara:%returnPara% echo befora call myFuncReturnValue call:myFuncReturnValue returnPara abc echo after call myFuncReturnValue echo return:%return% echo returnPara:%returnPara%
pause :myFuncNoPara echo myFuncNoPara enter echo myFuncNoPara First para:%1 echo myFuncNoPara Second para:%2 echo myFuncNoPara Third para:%3 echo myFuncNoPara exit goto:eof
:myFuncHasPara echo myFuncHasPara enter echo myFuncHasPara First para:%1 echo myFuncHasPara Second para:%2 echo myFuncHasPara Third para:%3 echo myFuncHasPara exit goto:eof
:myFuncReturnValue echo myFuncReturnValue echo myFuncReturnValue First para:%1 echo myFuncReturnValue Second para:%2 set "%~1=%2%" set return=%2 goto:eof
|
运行效果图:
说明:本文是收集参考文档,以方便查看(侵删)
信息链接:
- bat 脚本之 使用函数
=================我是分割线=================
欢迎到公众号来唠嗑: