[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

[Windows]BAT脚本自定义函数的更多相关文章
- windows bat脚本编写
windows批处理 (cmd/bat) 编程详解 开始之前先简单说明下cmd文件和bat文件的区别:在本质上两者没有区别,都是简单的文本编码方式,都可以用记事本创建.编辑和查看.两者所用的命令行代码 ...
- Windows bat脚本的for语句
Windows bat脚本的for语句基本形态如下: 在cmd窗口中:for %I in (command1) do command2 在批处理文件中:for %%I in (command1) do ...
- windows bat脚本实现ftp自动下载 删除
现在有一个需求就是把远程某个文件下面的图片,下载到本地,并且删除下载成功的的文件,而且远程目录下的那个图片会随时增加.假设一下如果所有的脚本都写好了,那么就需要调用windows上的计划任务定时执行脚 ...
- java 调用windows bat脚本
当我们需要在java程序中调用外部程序,我们可用通过Runtime.exec()调用来完成. The class java.lang.Runtime features a static method ...
- 在windows bat脚本(batch)中延时
编写bat脚本时,有事我们希望在指令和指令之间,加入延时.例如当一条指令执行后,windows需要一定时间来响应的情况. 以下是一种实现方法,通过ping 指令来实现,5表示ping5次,就是延时5秒 ...
- bat脚本自定义魔兽warIII运行分辨率,去黑边
我们一般平时安装完WarIII后运行时的分辨率默认是800*600,导致有黑边的存在.所以我写了一个bat脚本来自定义WarIII的运行分辨率.需要以管理员身份运行. 下载链接: 链接:https:/ ...
- Windows bat脚本学习(1)
基础 首先所有命令在cmd命令行中都能找到说明: 例如 想知道type用法 输入type /? 其他命令都一样 type [drive:][path] filename 显示文本文件内容 虽然有点鸡肋 ...
- windows BAT脚本2个服务器间传递文件
1. 脚本功能: 实现2个服务器间文件的传递,例如从A服务器往B服务器上传文件 2. 实现步骤: 2.1 服务器连结,找到指定路径,读取所需要上传的文件,将文件名称复制到一个文件下 (此处考虑可能需要 ...
- windows bat 脚本(一)切换当前目录
一.切换当前目录 现在桌面新建一个文件, 然后打开输入 cmd /k "cd /d D:\file" 如下图点击“另存为”,保存类型选择 “所有文件” 然后会在保存路径下发现 ...
- 使用 windows bat 脚本命令 一键启动MySQL服务
@echo off rem Copyright (c) 2019 Moses and/or its affiliates. rem Get Administrator Rights >nul 2 ...
随机推荐
- 数组扩展(Java)
Arrays类 基本介绍 数组的工具类java.util.Arrays 由于数组本身中没有什么方法可供我们调用,但API中提供了一个工具类Arrays供我们使用,从而可以对数据对象进行一些基本操作 查 ...
- 关于git错误:Git未能顺利结束(退出码 128)的解决办法
如图: 问题原因: 主要是:用户名.邮箱.用户密钥跟github官网上配置的不一致 https://blog.csdn.net/weixin_52517585/article/details/1269 ...
- JAVA、Tomcat服务器
JAVA如何配置服务器 Tomcat服务器: 1.Web开发中的常见概念: (1)B/S系统和C/S系统 Brower/Server:浏览器 服务器 系统 ----- 网站 Client/Server ...
- postgresql Extract 函数的使用
Extract 属于 SQL 的 DML(即数据库管理语言)函数,同样,InterBase 也支持 Extract,它主要用于从一个日期或时间型的字段内抽取年.月.日.时.分.秒数据,因此,它支持其关 ...
- CentOS安装并查看lm_sensors CPU温度监控
CentOS安装并查看lm_sensors 首先查看是否安装rpm包: [root@localhost home]# rpm -qa|grep sensors lm_sensors-libs-3.1. ...
- IT工具知识-09:OpenWrt设置旁路由
0.使用背景 设备:N1 固件:filppy打包的60+ 1.使用方法 1.1知道主路由的IP地址(例如192.168.1.1) 1.2在OpenWrt管理界面下进行设置 进入OpenWrt管理界面 ...
- WPF中的DataGrid支持Excell粘贴数据
其中XMAL文件中的表格样式: <DataGrid x:Name="DataListView" AutoGenerateColumns="False" H ...
- Apache + PHP + Mysql Windows下配置
1.安装Apache 下载网址 http://httpd.apache.org/download.cgi#apache24 二.下载php 下载地址:https://www.php.net/downl ...
- 《Unix/Linux系统编程》第八周学习笔记
<Unix/Linux系统编程>第八周学习笔记 时钟服务函数 gettimeodfay() 获取系统时间 settimeofday() 设置系统时间 time() 以秒为单位返回当前时间 ...
- 转帖:弹性布局(display:flex;)属性详解
它之所以被称为 Flexbox ,是因为它能够扩展和收缩 flex 容器内的元素,以最大限度地填充可用空间.与以前布局方式(如 table 布局和浮动元素内嵌块元素)相比,Flexbox 是一个更强大 ...