bat 脚本之 使用函数

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

2017年06月30日 15:06:37 pengcao89 阅读数:4631
 
 版权声明:本文为博主原创文章,未经博主允许不得转载。转载请注明出处: http://blog.csdn.net/peng_cao https://blog.csdn.net/cpwolaichile/article/details/73999076

综述

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函数的各种条件的验证代码

 

 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 abc
echo after call myFuncHasPara
echo =================================
echo =======Func with return value====
echo =================================
set return=
set returnPara=
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:%
echo myFuncNoPara Second para:%
echo myFuncNoPara Third para:%
echo myFuncNoPara exit
goto:eof :myFuncHasPara
echo myFuncHasPara enter
echo myFuncHasPara First para:%
echo myFuncHasPara Second para:%
echo myFuncHasPara Third para:%
echo myFuncHasPara exit
goto:eof :myFuncReturnValue
echo myFuncReturnValue
echo myFuncReturnValue First para:%
echo myFuncReturnValue Second para:%
set "%~1=%2%"
set return=%
goto:eof

运行效果图

bat 脚本之 使用函数的更多相关文章

  1. Bat脚本备份sqlserver 表结构、存储过程、函数、指定表数据

    Bat脚本备份sqlserver 表结构.存储过程.指定表数据: @echo off cd /d %~dp0 ::备份表结构.存储过程和部分配置表的数据 set LogFile=report.log ...

  2. windows bat脚本实现ftp自动下载 删除

    现在有一个需求就是把远程某个文件下面的图片,下载到本地,并且删除下载成功的的文件,而且远程目录下的那个图片会随时增加.假设一下如果所有的脚本都写好了,那么就需要调用windows上的计划任务定时执行脚 ...

  3. bat脚本学习

    工作需求,写个bat脚本来启动自己的守护进程:bat方面完全空白啊~稍微学习了下,记录下来,后面复习! 直接上代码: 示例一:for字符串切割,切割文本中的字符串: test.txt 文本内容如下: ...

  4. 服务器A制定计划任务,BAT脚本自动备份oracle数据文件,拷贝至服务器B的共享目录。

    运行环境:windows server 2008 R2 目的:在数据库服务器A进行数据库自动备份,并且保留5天. 为了安全,需要在web应用服务器B进行数据库的冗余备份,建立双保险.(保留15天) A ...

  5. windows 执行bat脚本

    bat脚本中运行另外一个bat脚本 call 命令 call1.bat内容如下 echo running call1 call2.bat内容如下 @echo off echo start call c ...

  6. <转载> bat 脚本基本语法 http://blog.csdn.net/bluedusk/article/details/1500629

        bat 脚本基本语法 2007-01-25 10:31 常用命令 echo.@.call.pause.rem(小技巧:用::代替rem)是批处理文件最常用的几个命令,我们就从他们开始学起. = ...

  7. 批处理(.bat脚本)基本命令语法

    .bat脚本基本命令语法   目录批处理的常见命令(未列举的命令还比较多,请查阅帮助信息)     1.REM 和 ::     2.ECHO 和 @     3.PAUSE     4.ERRORL ...

  8. BAT脚本编写教程(比较易懂和全面)

    这篇文章主要介绍了BAT脚本编写教程,比较易懂和全面.适合有一定编程基础的人   作者不详.敬意! echo.@.call.pause.rem(小技巧:用::代替rem)是批处理文件最常用的几个命令, ...

  9. BAT脚本编写教程入门提高篇

    BAT脚本编写教程入门提高篇 批处理文件的参数 批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符“%”. %[1-9]表示参数,参数是指在运行批处理 ...

随机推荐

  1. Win10 hosts文件无法保存

    Win10无法修改编辑保存hosts文件怎么办?Win10系统默认是没有权限去编辑保存系统里的文件,这也是权限不够才导致修改编辑hosts后无法保存的原因,解决的办法就是把自己的帐户权限给提高就行了. ...

  2. RxJava 以及 Android 中的通用线程解决方案、并发与线程安全

    关于RxJava如今是熟到发紫了,所以对于它底层的动作机制的了解是迫在眉睫了,费话不多说,直接开始. 这里还是以之前获取个人github仓库列表为例,用retrofit+rxjava,也是实际项目中用 ...

  3. 创建型模式(一) 单例模式(Singleton)

    一.动机(Motivation) 在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性.以及良好的效率. 如何绕过常规的构造器,提供一种机制来保证一个类只 ...

  4. Java原子类--框架

    根据修改的数据类型,可以将JUC包中的原子操作类可以分为4类. 1. 基本类型: AtomicInteger, AtomicLong, AtomicBoolean ;2. 数组类型: AtomicIn ...

  5. go if for while 的使用

    fileName := "a.txt"contents ,err := ioutil.ReadFile(fileName) if err != nil{ fmt.Println(& ...

  6. struts--CRUD优化(图片上传)

    1.上传方式 上传到指定文件目录,添加服务器与真实目录的映射关系,从而解耦上传文件与tomcat的关系  文件服务器 2.web代码优化 package com.yuan.crud.web; impo ...

  7. mybatis-传多个参数

    第一种方案:下标传参 DAO层的函数方法 Public User selectUser(String name, String area); 对应的Mapper.xml <select id=& ...

  8. Python2.7学习

    网上很多代码都不适用于python3版本,所以还是转回版本2来学习了 install 安装模块特别简单 E:\01_SOFT\Python27\python  -m easy_install sunb ...

  9. Bootstap学习的实用网站

    基本CSS样式 http://v2.bootcss.com/base-css.html 93 Twitter Bootstrap HTML Templates https://shapebootstr ...

  10. 分布式的一致性(分布式事物)-------2PC详述

    英文名:Two Phase Commit(2PC) 算法目的:实现分布式事物 算法概述: 有两类节点: -----协调者 -----事务参与者 流程阶段: -----请求阶段 -----提交阶段 算法 ...