• [Windows]BAT脚本自定义函数


    1 helloworld

    @echo off
    
    call :helloworld helloworld
    
    goto :EOF
    
    
    :helloworld
    setlocal
    echo %1
    
    endlocal&goto :EOF
    

    2 比较日期的自定义函数

    @echo off
    
    @rem case1
    @rem call :function_compare_date "2021-01-09" "2021-01-08" & goto :EOF
    
    @rem case2
    call :function_compare_date "1970-01-01" "2021-01-07"
    @ECHO return:%FUNC_RETURN%
    goto :EOF
    
    @rem ################################################################################
    @rem #↓                                  函数区                     		   ↓#
    @rem ################################################################################
    
    @rem ##############################
    @rem [自定义函数] 比较两(字符串)日期
    @rem ##############################
    
    @rem [FUNCTION] 自定义比较日期字符串的函数
    @rem 日期参数格式: "2021-01-09"
    @rem 如果第1个日期 >= 第2个日期:返回 TRUE;否则,返回:FALSE
    :function_compare_date
    @rem setlocal
    @rem 获取第n个函数
    @rem ECHO %1 & echo %2
    SET A_DATE_STR=%1
    SET B_DATE_STR=%2
    
    SET /A A_YEAR=%A_DATE_STR:~0,5%
    @REM ECHO DATE:%A_YEAR%
    SET /A A_MONTH=%A_DATE_STR:~6,2%
    @REM ECHO DATE:%A_MONTH%
    SET /A A_DAY=%A_DATE_STR:~10,2%
    @REM ECHO DATE:%A_DAY%
    @rem ECHO DATE-A:%A_YEAR%-%A_MONTH%-%A_DAY%
    
    SET /A B_YEAR=%B_DATE_STR:~0,5%
    @REM ECHO DATE:%B_YEAR%
    SET /A B_MONTH=%B_DATE_STR:~6,2%
    @REM ECHO DATE:%B_MONTH%
    SET /A B_DAY=%B_DATE_STR:~10,2%
    @REM ECHO DATE:%B_DAY%
    @rem ECHO DATE-B:%B_YEAR%-%B_MONTH%-%B_DAY%
    
    @rem 设置默认返回值
    SET FUNC_RETURN=FALSE
    @rem 为避免此错误"> was unexpected at this time.",比较大小时,使用如下比较符
    @rem GTR 大于 / EQU 等于 / NEQ 不等于 / LSS 小于 / LEQ 小于或等于 / GEQ 大于或等于
    IF %A_YEAR% GTR %B_YEAR% (
    	@rem ECHO TRUE
    	SET FUNC_RETURN=TRUE
    ) ELSE IF "%A_YEAR%" EQU "%B_YEAR%" (
    	IF "%A_MONTH%" GTR "%B_MONTH%" (
    		@rem ECHO TRUE
    		SET FUNC_RETURN=TRUE
    	) ELSE IF "%A_MONTH%" EQU "%B_MONTH%" (
    		IF "%A_DAY%" GTR "%B_DAY%" (
    			@rem ECHO TRUE
    			SET FUNC_RETURN=TRUE
    		) ELSE IF "%A_DAY%" EQU "%B_DAY%" (
    			@rem ECHO TRUE
    			SET FUNC_RETURN=TRUE
    		) ELSE (
    			@rem ECHO FALSE
    			SET FUNC_RETURN=FALSE
    		)
    	) ELSE (
    		@rem ECHO FALSE
    		SET FUNC_RETURN=FALSE
    	)
    ) ELSE (
    	@rem ECHO FALSE
    	SET FUNC_RETURN=FALSE
    )
    @rem ECHO [FUNCTION-TIPS]FUNC_RETURN:%FUNC_RETURN%
    @rem endlocal
    goto :EOF
    
  • 相关阅读:
    tcp/ip 调优示例
    【ASP.NET】IHttpHandler和IHttpModule
    【.NET框架】Dapper ORM 用法—Net下无敌的ORM
    【JavaScript】setinterval和setTimeout的区别
    【javascript】基于javascript的小时钟
    【ASP.NET】必须知道的ASP.NET核心处理
    【ASP.NET MVC】 路由机制:命名路由
    【ASP.NET MVC】提高页面加载速度:脚本优化
    SMTP协议--在cmd下利用命令行发送邮件
    【ASP.NET MVC】HTML5+MVC上传文件显示进度
  • 原文地址:https://www.cnblogs.com/johnnyzen/p/14255777.html
Copyright © 2020-2023  润新知