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

[Windows]BAT脚本自定义函数的更多相关文章

  1. windows bat脚本编写

    windows批处理 (cmd/bat) 编程详解 开始之前先简单说明下cmd文件和bat文件的区别:在本质上两者没有区别,都是简单的文本编码方式,都可以用记事本创建.编辑和查看.两者所用的命令行代码 ...

  2. Windows bat脚本的for语句

    Windows bat脚本的for语句基本形态如下: 在cmd窗口中:for %I in (command1) do command2 在批处理文件中:for %%I in (command1) do ...

  3. windows bat脚本实现ftp自动下载 删除

    现在有一个需求就是把远程某个文件下面的图片,下载到本地,并且删除下载成功的的文件,而且远程目录下的那个图片会随时增加.假设一下如果所有的脚本都写好了,那么就需要调用windows上的计划任务定时执行脚 ...

  4. java 调用windows bat脚本

    当我们需要在java程序中调用外部程序,我们可用通过Runtime.exec()调用来完成. The class java.lang.Runtime features a static method ...

  5. 在windows bat脚本(batch)中延时

    编写bat脚本时,有事我们希望在指令和指令之间,加入延时.例如当一条指令执行后,windows需要一定时间来响应的情况. 以下是一种实现方法,通过ping 指令来实现,5表示ping5次,就是延时5秒 ...

  6. bat脚本自定义魔兽warIII运行分辨率,去黑边

    我们一般平时安装完WarIII后运行时的分辨率默认是800*600,导致有黑边的存在.所以我写了一个bat脚本来自定义WarIII的运行分辨率.需要以管理员身份运行. 下载链接: 链接:https:/ ...

  7. Windows bat脚本学习(1)

    基础 首先所有命令在cmd命令行中都能找到说明: 例如 想知道type用法 输入type /? 其他命令都一样 type [drive:][path] filename 显示文本文件内容 虽然有点鸡肋 ...

  8. windows BAT脚本2个服务器间传递文件

    1. 脚本功能: 实现2个服务器间文件的传递,例如从A服务器往B服务器上传文件 2. 实现步骤: 2.1 服务器连结,找到指定路径,读取所需要上传的文件,将文件名称复制到一个文件下 (此处考虑可能需要 ...

  9. windows bat 脚本(一)切换当前目录

    一.切换当前目录 现在桌面新建一个文件, 然后打开输入 cmd /k "cd /d D:\file"    如下图点击“另存为”,保存类型选择 “所有文件” 然后会在保存路径下发现 ...

  10. 使用 windows bat 脚本命令 一键启动MySQL服务

    @echo off rem Copyright (c) 2019 Moses and/or its affiliates. rem Get Administrator Rights >nul 2 ...

随机推荐

  1. UI自动化之【chromedriver.exe无法删除问题】

    想删掉chromedriver.exe,结果提示被打开 在任务管理器中,找到Chromedriver.exe,结束进程

  2. CORS(cross origin resource sharing)

    1.什么是CORS 定义:跨域资源共享. 2.什么是跨域资源共享 允许浏览器可以从当前源服务器通过ajax访问另外一个源服务地址. 3.同源策略 是浏览器的一个安全功能,不同源的客户端脚本在没有明确的 ...

  3. 小梅哥课程学习——LED花式玩法(从计数器器到线性序列机)——实验六

    //每隔10ms,让led灯的一个8状态循环执行一次(每个变化时间值小一点,方便测试比如设置为10us) 源代码 module counter_led_6(    clk,    reset_n,   ...

  4. JVM-创建一个对象的详细过程

    Person person=new Person(): 1.现在栈中申请一个自己的栈空间 2.类加载检查 每当使用new操作符创建一个对象时,类加载器都会从常量池中寻找该对象的符号引用,如果找到,则根 ...

  5. 【Unity】使用dmp文件定位Player崩溃原因

    写在前面 如果在Player运行时突然崩溃,仅靠Player.log日志文件不能定位引起崩溃的代码,那么可以尝试利用dmp(仅限Windows平台)文件定位崩溃原因. 正文 环境 Unity 2020 ...

  6. 查看app包名

    操作步骤: 1.cmd中输入命令:adb shell am monitor 2.启动需要获取包名的应用

  7. LINUX下的VSCODE-C/C++配置

    LINUX下的VSCODE-C/C++配置 1.生成默认的任务文件 2.lunch.json,调整"configurations"里的成员,如下 ①添加 "preLaun ...

  8. js的时间比较

    time1的传参数类型是"2022-11-10 23:23:20" 点击查看代码 function times(time1) { let now = new Date() //当前 ...

  9. Ubuntu 中tab键不能自动补全解决方法

    1.打开文件vim /etc/bash.bashrc(root下操作)2.找到下面几行 3.去掉前面的#号 4.最后source /etc/bash.bashrc即可

  10. A better jump —— 优化游戏中的跳跃

    之前一提起角色的跳跃,想当然的想法就是:给角色一个向上的初速,然后由Unity的物理系统接管就好了嘛,这样忽略空气摩擦的影响,根据重力加速度,角色向上跳到最高点的时间和由最高点落下的时间相等,不是很合 ...