zoukankan      html  css  js  c++  java
  • 批处理-函数定义及应用01

     1 @echo off
     2 :: 批处理中所谓的函数,是用标签定义功能充当的。支持参数的传递,类似脚本文件运行时命令行参数的传递。
     3 ::  函数返回值用标签作为变量名作为返回使用,用完标签名变量立即释放变量,避免后面同样需要调用该函数,引起返回值的混乱。
     4 :: exit /b code  在标签定义中表示退出当前函数,并返回错误状态值code。在call调用完毕后,回到call调用处继续执行后续指令。
     5 ::               不带/b表示直接退出cmd环境。
     6 
     7 
     8 
     9 :::::::::::::::::::::::::::::::Main Begin::::::::::::::::::::::::::::::::::::::::::::::
    10 :Main
    11 echo;欢迎进入批处理天地!
    12 echo;
    13 echo;加法运算开始.
    14 set /p n1=请输入第一个数字:
    15 set /p n2=请输入第二个数字:
    16 
    17 call :IsDigital %n1% 
    18 set r1=%errorlevel% 
    19 call :IsDigital %n2% 
    20 set r2=%errorlevel%
    21 
    22 
    23 if "%r1%"=="200" (
    24   if "%r2%"=="200" (     
    25       call :Add %n1% %n2%
    26       call,echo;%n1%与%n2%之和为:%%Add%%
    27    ) else (echo;%n2%不是数字无法参与运算.)
    28 ) else (echo;%n1%不是数字无法参与计算.)
    29 
    30 pause & exit 
    31 :::::::::::::::::::::::::::::::Main End::::::::::::::::::::::::::::::::::::::::::::::
    32 
    33 
    34 :::::::::::::::::::::::::::::::Add Begin::::::::::::::::::::::::::::::::::::::::::
    35 ::   功能:两数相加。
    36 :Add
    37 ::变量传递查看。
    38 ::echo;%*
    39 set /a num1=%1
    40 set /a num2=%2
    41 set sum=
    42 set /a sum=%num1% + %num2%
    43 ::echo;%num1% + %num2% = %sum%
    44 ::返回值用标签当作变量返回。
    45 set /a add=%sum% &exit /b 0
    46 :::::::::::::::::::::::::::::::Add End::::::::::::::::::::::::::::::::::::::::::
    47 
    48 :::::::::::::::::::::::::::::IsDigital Begin:::::::::::::::::::::::::::::::::::::::::::
    49 ::    功能:判断给入的字符是否是纯数字。
    50 ::        exitcode  200 表示成功,是数字。250 表示失败,不是数字。
    51 :IsDigital
    52 set "num=%1"
    53 ::情况一:数字字符串中含空格。
    54 ::set num=%num: =%
    55 echo;%num%|findstr "^[0-9][0-9]*$" >nul && call,set IsDigital=%%num%%
    56 if not defined IsDigital (echo;%num%不是数字. & exit /b 250) else (echo;%num%是纯数字. & exit /b 200)
    57 :::::::::::::::::::::::::::::IsDigital End:::::::::::::::::::::::::::::::::::::::::::
  • 相关阅读:
    css学习之 display:inline-block;
    java重写
    PDF在线阅读 FlexPaper 惰性加载 ;
    js两种生成对象模式(公有成员和成员私有)
    js 设计模式-接口
    聊聊 elasticsearch 之分词器配置 (IK+pinyin)
    nexus 批量上传jar到私有仓库内
    Java IDEA 根据mybatis-generator-core自动生成代码支持sqlserver获取备注(二)
    Elasticsearch实现搜索推荐词
    Java IDEA根据database以及脚本代码自动生成DO,DAO,SqlMapper文件(一)
  • 原文地址:https://www.cnblogs.com/ai20110304/p/12595425.html
Copyright © 2011-2022 走看看