@echo off
:: 作者: namejm 出自:cn-dos
:: 求N天前的日期
:: 日期可以带星期,但是,必须以年月日的顺序排列
:: 年份必须是四位,否则会出错
@echo off
:Main
cls
set day=%date%
set days=0
echo.&echo.
echo 当前日期是:%day%
echo.&set /p input= 请指定要追溯的天数:
setlocal enabledelayedexpansion
:: 提取日期
for /f "tokens=1-3 delims=-/. " %%i in ("%day%") do (
set /a sy=%%i, sm=100%%j %% 100, sd=100%%k %% 100
)
set /a sd-=input
if %sd% leq 0 call :count
cls&echo.&echo.
echo 当前日期是:%day%
echo.
set sm=0%sm%
set sd=0%sd%
echo %input% 天前的日期是:%sy%-%sm:~-2%-%sd:~-2%
pause>nul
goto Main
:count
set /a sm-=1
if !sm! equ 0 set /a sm=12, sy-=1
call :days
set /a sd+=days
if %sd% leq 0 goto count
goto :eof
:days
:: 获取指定月份的总天数
set /a leap="^!(sy %% 4) & ^!(^!(sy %% 100)) | ^!(sy %% 400)"
set /a max=28+leap
for /f "tokens=%sm%" %%i in ("31 %max% 31 30 31 30 31 31 30 31 30 31") do set days=%%i
goto :eof
该批处理可以考虑到例如4月1日前一天是3月31日,而不是4月0日的问题,值得参考。
分享到:
相关推荐
3. **获得任意日期天数.cmd**:这个脚本可能用于获取从某个特定日期(如用户输入的日期)到当前日期的天数。它可能需要用到日期的比较和计算,这可能涉及到`set /a`命令进行算术运算,以及解析和设置日期的命令。 4...
简明批处理教程22009年10月20日 星期二 下午 05:35 最近对于批处理技术的探讨比较热,也有不少好的批处理程序发布,但是如果没有一定的相关知识恐怕不容易看懂和理解这些批处理文件,也就更谈不上自己动手编写了,古...
可以修改文件的属性及日期,还提供了灵活的大小写转换机制。 2、添加水印: 提供图片、文本、水印库三大水印类别。每一类别都有丰富的选项供您调配水印效果,其中包括但不限于透明度、透明颜色、阴影、排列方式、...
### DOS批处理常用命令及用法详解 #### 1. Echo 和 @ 回显控制命令 **命令介绍:** - `echo [文本]`:显示指定的文本字符串。 - `echo off`:关闭命令提示符窗口中的命令回显。 - `echo on`:开启命令提示符窗口中...
DOS命令创建以当前日期为文件名的TXT文件, test.bat文件是点击直接创建以当前日期...test1.vbs放在任意地方,使用时双击即可 三个文件都可以用txt打开和编辑,默认展示的内容可以根据自己需求更改,照着格式写就可以了
使用`SELECT COUNT(column_name)`可以得到指定列的行数。例如,`SELECT COUNT(user_id) FROM users;`会返回users表中user_id列的不重复行数。 2. **MySQL查询的大小写敏感性**: MySQL默认在查询中不区分大小写,...
这意味着机器的处理能力是“无界”的,只要不超过机器的最大容量,可以处理任意数量的工件。同型机在处理过程中的批处理时间是由批内最长的单个工件处理时间决定的,批内的所有工件在相同的时刻开始和结束处理。处理...
例如,`.`代表任意单字符,`*`表示前面的字符可以重复任意次,`^`表示行首,`$`表示行尾。 4. **示例**: - 查找文件`example.txt`中包含"hello"的行:`grep "hello" example.txt` - 不区分大小写查找:`grep -i ...
- 使用SAS批处理模式:适用于自动化任务和脚本。 - 通过SAS/CONNECT:允许远程访问SAS服务器。 - **自定义SAS会话**: - 用户可以通过设置选项来调整SAS的行为。 - 可以定义宏变量、格式、目录等。 **章节2:...
通过编写批处理脚本(例如backup_db.bat),可以将mysqldump命令和日期变量结合起来,定时备份数据库到指定位置。例如,每天凌晨5点执行备份脚本,生成以年月日命名的.sql文件。使用Windows计划任务功能来设置定时...
这里`DATE()`返回当前日期,而`+120`表示将当前日期加上120天,得到一个新的日期。 ### 20. 字符串函数Mid() 第二十题涉及字符串函数`Mid()`的使用: - `Mid("SHANGHAI",6,3)`表示从字符串`"SHANGHAI"`的第6个字符...
标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图啊。 4.Rem 命令 注释...
0193 获得指定月的最后一天 127 0194 在指定的日期上加上3月 127 0195 实现倒计时功能 128 0196 判断指定年份是否为闰年 129 0197 调用系统设置日期对话框 129 0198 将秒数转化成hh:mm:ss格式 129 0199...
0193 获得指定月的最后一天 127 0194 在指定的日期上加上3月 127 0195 实现倒计时功能 128 0196 判断指定年份是否为闰年 129 0197 调用系统设置日期对话框 129 0198 将秒数转化成hh:mm:ss格式 129 0199...
功能直接向打印机发送任意字符串,通常用于发送打印机的控制代码。 语法PrintSend ( printjobnumber, string {, zerochar } ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号string:string类型,指定发送...
9. **Swing增强**:Java Swing组件库在1.6版本中得到改进,包括更好的外观和行为、新的组件(如JTable的改进、JTabbedPane的改进),以及更丰富的事件处理机制。 10. **JDBC增强**:Java 1.6的JDBC API提供了更多...
- 在批处理文件中暂停执行,直到用户按下任意键: ```cmd PAUSE ``` #### 35. POPD **命令功能:** - `POPD`命令用于恢复通过`PUSHD`命令保存的当前目录的前一个值。 **使用示例:** - 恢复到上次保存的当前...
date /t 、 time /t 使用此参数即“DATE/T”、“TIME/T”将只显示当前日期和时间,而不必输入新日期和时间 set 指定环境变量名称=要指派给变量的字符 设置环境变量 set 显示当前所有的环境变量...
0866 控制批处理内语句的执行 513 0867 执行查询但是显示列信息 514 0868 获取连接或试图连接的次数 514 0869 获取当前数据库的语言名 514 19.5 时间与谓词 514 0870 时间函数的使用 514 0871 设置...