bat函数调用 带返回值
bat 脚本之 使用函数
摘自:https://blog.csdn.net/peng_cao/article/details/73999076
- 综述
- bat函数写法
- bat函数调用
- bat函数返回值
综述
Windows bat脚本是一种解释性的脚本语言,可以拿到做很多事情。对于稍简单的问题:比如通过注册表判断下档期机器的语言啊,国家啊,安装了那些软件啊等等还少诶简单。但是如果有可能使用bat脚本来处理较复杂的问题时,就需要用函数来将其模块化,方便bat脚本的阅读和编写。下面来介绍下bat 函数的用法
bat函数写法
如下是一个最简单的函数写法;以:func
开始以goto:eof
结束。:func
和goto:eof
之间的为函数内容,例如这里的echo this is a bat func
:func echo this is a bat func goto:eof
bat函数调用
写好了bat函数之后,我们需要调用它。如下代码片段展示了如何在bat脚本中调用函数。其实很简单,就这一句call:func
即可。
call:func pause :func echo this is a bat func goto:eof
bat函数返回值
目前我了解到的bat函数返回值的获取有如下两种方法:
- 使用参数带回
- 使用全局变量带回
这里直接贴上关于bat函数的各种条件的验证代码
参数作为输出参数时,注意:
- ::注: 参数作为输出参数时,函数内不要使用SETLOCAL和ENDLOCAL
- ::注: 参数作为输出参数时,此文件不要设置setlocal enabledelayedexpansion
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% goto:eofpause :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_returncannot_be_set SETLOCAL echo myFuncReturnValue echo myFuncReturnValue First para:%1 echo myFuncReturnValue Second para:%2 set "%~1=%2%" set return=%2 ENDLOCAL:myFuncReturnValue ::SETLOCAL echo myFuncReturnValue echo myFuncReturnValue First para:%1 echo myFuncReturnValue Second para:%2 set "%~1=%2%" set return=%2 ::ENDLOCAL goto:eof
运行效果图
转载于:https://www.cnblogs.com/LiuYanYGZ/p/11254598.html
bat函数调用 带返回值相关推荐
- 定义一个带参带返回值的方法,实现输出随机数数组
public class mains { public static void main(String[] args) { // 创建对象,对象名为hello mains hello = new ma ...
- C++中内存分配、函数调用和返回值问题
在谈述函数调用和返回值问题之前,先来看看C++中内存分配的问题. C++编译器将计算机内存分为代码区和数据区,很显然,代码区就是存放程序代码,而数据区则是存放程序编译和执行过程出现的变量和常量.数据区 ...
- Java05-day05【方法(概述、调用过程图解)、带参方法、带返回值方法、重载、方法参数传递(基本类型、引用类型)】
java零基础入门到精通(2019版)[黑马程序员] 视频+资料:[链接:https://pan.baidu.com/s/1MdFNUADVSFf-lVw3SJRvtg 提取码:zjxs] &qu ...
- android cursor 实例化,为什么Cursor放到带参数带返回值方法里就报错?
完整代码如下: 其中有大部分的代码被注释,那是可以成功运行的. 后来我想啊,游戏有好多种,但是需要统计的内容是一样的. 我就想传参 然后获得返回值的方式 来减少代码量啊. 但是把相关的查询代码放到 带 ...
- 实验3.1 简单实现Intent带返回值的跳转
在这里实现的功能是当点击listview的某一子项是,启动一个确认删除相应记录的子Activity. 所以用到了带返回值的intent 父界面和子界面的前台代码 activity_main <? ...
- Mysql带返回值与不带返回值的2种存储过程
过程1:带返回值: 1 drop procedure if exists proc_addNum; 2 create procedure proc_addNum (in x int,in y int, ...
- 浅谈C++中内存分配、函数调用和返回值问题
在谈述函数调用和返回值问题之前,先来看看C++中内存分配的问题. C++编译器将计算机内存分为代码区和数据区,很显然,代码区就是存放程序代码,而数据区则是存放程序编译和执行过程出现的变量和常量.数据区 ...
- c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题
c++中带返回值函数没写return能通过编译但运行时会出现奇怪问题 例如: string myFunc(){ theLogics(); } 发现调用: myFunc(); 崩溃. 但调用: cout ...
- Java手写线程池(不带返回值、带返回值)
文章目录 不带返回值 带返回值 不带返回值 public class MyThreadPool {private static final int DEFAULT_THREAD_NUM = 10;pr ...
最新文章
- 学习笔记53—Wilcoxon检验和Mann-whitney检验的区别
- 深度优先(DFS)和广度优先(BFS)
- idea双击无反应,打不开的解决方法,两种情况。
- 以效率为根本,网易慢跑要做“另类”的TO B业务
- iis php 0x80070032,访问网站时 HTTP 错误 404.17 - Internet Information Services | Microsoft Docs...
- mycat 从入门到放弃 (转)
- python自动化办公 51cto_聊聊 Python 办公自动化之一 Excel
- Django—自定义分页
- js金额千分位显示_JavaScript 格式化数字、金额、千分位、保留几位小数
- 华为经典面试题(敲黑板!!!)
- 解决Windows不在第一分区时变色龙引导问题
- matlab二元非线性拟合,求助matlab多元非线性公式拟合
- 单片机c语言中断意义,51单片机中断系统的重要性
- STM32CubeMX+ETH+DP83848+Lwip 成功ping通(基于stm32F107开发板)
- 2022年安全员-B证考试试题模拟考试平台操作
- Codeforces869A The Artful Expedient
- [arduino][u8g2][12864] oled—u8g2库使用说明(例子是12864液晶屏)
- 天清江月白,心静海鸥知 (4.26每周总结)
- el-table设置表格高度无效
- 为什么通证经济会变得越来越普及?
热门文章
- mysql 批量替换 所有表_[收藏]批量替换一个数据库中所有表中所有记录
- python转二进制字符串_python如何将二进制串(UTF-8)转换为字符串?
- Java中的Unsafe
- LeetCode算法入门- Compare Version Numbers -day14
- 状态反射在体育运动中的作用_体育运动木地板时刻运行在最佳状态的秘诀
- python求出五位数的回文数_python之递归
- python聊天软件实现_python实现点对点聊天程序
- 没有足够的值_元丰通宝值多少钱吗?市场价值如何?有没有足够的收藏空间?...
- semantic ui中文文档_Vuetify-广受欢迎的Material风格的开源UI框架
- 【升职加薪必备架构图】Springboot学习路线汇总