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

    运行效果图

    函数及其运行结果

  • 相关阅读:
    (转)Epoll模型详解
    (转)彻底学会使用epoll(一)——ET模式实现分析
    (转)Linux内核 TCP/IP、Socket参数调优
    Nodejs RESTFul架构实践之api篇(转)
    创业笔记-Node.js入门之阻塞与非阻塞
    创业笔记-Node.js入门之基于事件驱动的回调
    创业笔记-Node.js入门之一个完整的基于Node.js的web应用
    创业笔记-Node.js入门之JavaScript与Node.js
    在CentOS6.5下配置安装LVS
    zend studio 添加xdebug调试php代码
  • 原文地址:https://www.cnblogs.com/LiuYanYGZ/p/11254598.html
Copyright © 2011-2022 走看看