bat函数调用 带返回值

bat 脚本之 使用函数

摘自:https://blog.csdn.net/peng_cao/article/details/73999076

  • 综述
  • bat函数写法
  • bat函数调用
  • bat函数返回值

 

综述

Windows bat脚本是一种解释性的脚本语言,可以拿到做很多事情。对于稍简单的问题:比如通过注册表判断下档期机器的语言啊,国家啊,安装了那些软件啊等等还少诶简单。但是如果有可能使用bat脚本来处理较复杂的问题时,就需要用函数来将其模块化,方便bat脚本的阅读和编写。下面来介绍下bat 函数的用法

bat函数写法

如下是一个最简单的函数写法;以:func开始以goto:eof结束。:funcgoto: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函数的各种条件的验证代码

参数作为输出参数时,注意:

  1. ::注: 参数作为输出参数时,函数内不要使用SETLOCAL和ENDLOCAL
  2. ::注: 参数作为输出参数时,此文件不要设置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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/569064.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[置顶] 读取pdf并且在web页面中显示

读取pdf并且在web页面中显示 if (System.IO.File.Exists(f)) { Response.ContentType "applicationpdf"; System.IO.FileStream reader System.IO.File.OpenRead(f); byte[] data new byte[reader.Length]; reader.Read(data, 0, (int)reader.Length); read…

实现路由器无线接收另一个路由器无线信号搭建网络

设置如下即可。 1,主副路由SSID设置成相同; 2,在主路由的BSSID中写上副路由的MAC; 3,在副路由的BSSID中写上主路由的MAC; 4,信道、模式、频道带宽、速率均设置成一致; 5,…

配置 jvisualvm 监控Java虚拟机

配置JMX远程连接 1. 配置启动参数 启动jar时,添加如下配置-Dcom.sun.management.jmxremote.port5050 -Dcom.sun.management.jmxremote.sslfalse -Dcom.sun.management.jmxremote.authenticatefalse -Djava.rmi.server.hostname192.168.94.23 启动参数说明 -Dcom.sun…

所有排序算法

---恢复内容开始--- 先看看复杂度大小吧 冒泡排序 直接上代码,? # 冒泡排序def bubble_sort(alist): for j in range(len(alist) - 1, 0, -1): for i in range(j): if alist[i] > alist[i 1]: alist[i], alist[i 1] ali…

亲身经历之微信支付沙箱环境扫码支付遇到的那些坑

很多用户在调用微信支付扫码支付沙箱环境都一脸迷茫,废话不多说,遇到很多坑,为了让大家少走弯路下面直接说说我开发微信支付遇到坑,微信沙箱不是一般的坑,是很大的坑。 1.首先下载的官方demo,不能直接用,里…

Microsoft .NET Pet Shop 4.0 学习之旅(二) - 项目的引用关系1

Microsoft .NET Pet Shop 4.0 学习之旅&#xff08;二&#xff09; 项目的引用关系1 <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />初看到Pet Shop 4.0的源代码觉得结构很复杂&#xff0c;今天我只讨论业务逻辑层&#xff08;…

Java api在线

地址&#xff1a;http://dlc-cdn.sun.com/jdk/jdk-api-localizations/jdk-api-zh-cn/builds/latest/html/zh_CN/api/点击打开链接 转载于:https://www.cnblogs.com/dengshiwei/p/4258607.html

SQL Server检索存储过程的结果集

目的&#xff1a;检索过滤执行存储过程的结果集 如下介绍两个常用的方法&#xff0c;但是都需要申明表结构&#xff1b;不知道是否有更简便的方法&#xff0c;如有更好的方法&#xff0c;请不吝赐教。 以系统存储过程sp_who2为例&#xff1a; 方法1&#xff1a;使用临时表 1 --…

zsh of termux

termux-ohmyzsh script :sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)" one step in place recommend style ; gentoo 转载于:https://www.cnblogs.com/jiujue/p/11272706.html

zsh of kali

首先安装zsh&#xff1a; # apt-get update # apt-get install zsh -y然后直接使用仓库脚本&#xff1a; # sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)" 作者&#xff1a;NextStack链接&#xff1a;htt…

python的zip()函数

zip() 函数用于将可迭代对象作为参数&#xff0c;将对象中对应的元素打包成一个个元组&#xff0c;然后返回由这些元组组成的对象。 如果各个可迭代对象的元素个数不一致&#xff0c;则返回的对象长度与最短的可迭代对象相同。 利用 * 号操作符&#xff0c;与zip相反&#xff0…

django小知识

def __str__:return self.name 在显示的时候&#xff0c;将原来显示的额object对象&#xff0c;显示成这个类的名字 转载于:https://www.cnblogs.com/one-tom/p/11275894.html

RT-Thread中如何预编译一个.c文件

本文介绍在RT-Thread系统&#xff0c;使用scons&#xff0c;如何预编译一个.c文件 首先新建一个测试文件test.c #include "rtthread.h"void test(void) { rt_kprintf("Hello RT-Thread\n"); } 使用下面的命令导出编译过程到1.txt文件 scons -j7 --verbose …

vs.net各版本解决方案相互转换工具

感谢Arthur Liberman, 感谢zu14.cn三角猫 工具下载转载于:https://www.cnblogs.com/JoinZhang/archive/2010/07/09/1774617.html

杂谈杂想!

a) 在Live Write 实施插入地图 b) 金山词霸为什么总是把“音乐(YUE)”念成“音乐&#xff08;LE&#xff09;”&#xff1f;这个bug好多年&#xff01; c) 养的基瘦了&#xff0c;人却变胖了&#xff01; 转载于:https://www.cnblogs.com/jeffersyuan/archive/2007/11/10/95528…

链接Mysql的api mysqli和pdo

HP 5 及以上版本建议使用以下方式连接 MySQL : MySQLi extension ("i" 意为 improved)PDO (PHP Data Objects)PDO 应用在 12 种不同数据库中&#xff0c; MySQLi 只针对 MySQL 数据库。 如果你的项目需要在多种数据库中切换&#xff0c;建议使用 PDO 两者都是面向对…

Spring 实战-第一章-基本概念

依赖注入&#xff08;Dependency Injection&#xff0c;DI&#xff09;通过第三方配置初始化对象&#xff0c;而不是把具体的实现写在对象中&#xff0c;这样程序入口与具体实现进行了解耦。比如动作定义为接口&#xff0c;具体做什么动作 由实现动作接口的类来具体描述。 面向…

C# Types Type Members

http://blog.tangcs.com/2008/03/04/csharp-types-and-type-members/转载于:https://www.cnblogs.com/WarrenTang/archive/2008/03/04/1089628.html

Vue项目中自动将px转换为rem

一、配置与安装步骤&#xff1a; 1、在 Vue 项目的 src 文件夹下创建一个 config 文件夹&#xff1a; 2、在 config 文件夹中创建 rem.js&#xff1a; 3、将以下代码复制到 rem.js 中&#xff1a; // 基准大小 const baseSize 32 // 设置 rem 函数 function setRem () {// 当前…

开通博客啦!!

欢迎大家多多交流&#xff01; ——吃翔翔啊 转载于:https://www.cnblogs.com/chixiangxiang/p/11285295.html