zoukankan      html  css  js  c++  java
  • bat函数调用 带返回值

    bat 脚本之 使用函数

    摘自:https://blog.csdn.net/peng_cao/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函数的各种条件的验证代码

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

    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:eof
    
    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_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

    运行效果图

    函数及其运行结果

  • 相关阅读:
    WebService相关
    远程连接db2数据库
    修改VNC分辨率大小
    java面向对象的核心思想
    小故障排查
    使用IntelliJ IDEA开发java web
    WebService概述
    Qt开发之信号槽机制
    用SoapUI 测试Web Service
    剑指offer:滑动窗口的最大值
  • 原文地址:https://www.cnblogs.com/LiuYanYGZ/p/11254598.html
Copyright © 2011-2022 走看看