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