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. UCID数据集

    UCID数据集,做实验使用, 免费分享. 自取 链接:https://pan.baidu.com/s/1etMgXShdd_tJFHWbP3ipNw 提取码:62ww

  2. Parallels Desktop 18(Mac虚拟机)v18.0.0(53049)无限试用版+win11系统

    Parallels Desktop 18 for Mac 是一款强大的虚拟机软件,让您无需重启即可在 Mac 上运行 Windows 应用程序不会减慢 Mac 的运行速度,具有速度快.操作简单且功能强 ...

  3. php 解密 java des 密文

    背景 对方系统java des 加密, 我们用 php 解密 模式基本介绍 ECB模式:电子密本方式,JAVA封装的DES算法的默认模式,就是将数据按照8个字节一段进行DES加密或解密得到一段8个字节 ...

  4. 记 第一次linux下简易部署 django uwsgi nginx

    1.首先确定django项目是跑起来的 2.装nginx  uwsgi ,网上教程一大堆 3.uwsgi的配置了 我是通过ini启动的 随意找个顺手的文件夹创建uwsgi.ini文件 我是在/home ...

  5. IT工具知识-14:如何通过adb操作安卓剪切板?

    1.安装apk 下载地址 2.运行服务(每次重启系统都需要运行一次) adb shell am startservice ca.zgrs.clipper/.ClipboardService 3.设置剪 ...

  6. MySQL数据库封锁机制和事务隔离级别

    参考: 数据库技术:MySql学习笔记之事务隔离级别详解 详解MySQL 数据库隔离级别与MVCC MySQL 事务&&锁机制&&MVCC 数据库系统原理 - MySQ ...

  7. UG二次开发-内存访问违例

    在项目中修改路径参数后重算发生了内存访问违例的错误,经过调试,发现是下面这一行出的错 surfaceContourBuilder1.Commit(); 经过反复调试,发现这个东西不能随便放,不可以想当 ...

  8. 01 docker容器技术基础入门

    本章内容: 1.container是什么? 2.LXC技术介绍 3.namespaces-名称空间,实现资源隔离 4.容器的资源分配--Cgroup,实现资源分配 5.LXC与dockers ---- ...

  9. 如果摄像头不支持Web Socket,猿大师播放器还能在网页中播放RTSP流吗?

    问: 我们的情况比较复杂,摄像头设备品牌和数量都比较多,分布在全国各地都有,地点分布比较广泛,有的甚至是比较老的型号,如果摄像头设备不支持Web Socket,猿大师播放器还可以在网页中播放RTSP流 ...

  10. Go_day04

    Go基础语法 指针 指针式存储另一个变量内存地址的变量 &a 取出a的内存地址 *b 若指针b存放的式a的地址 那么 *b就直接指向a的内存 可以直接操作其中的值 指针的使用 func mai ...