中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 13:39
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]用批处理如何取上月月末日期
可打印版本  1,190 / 4
第1楼 hgx126 发表于 2010-03-15 11:40
初级用户 发帖 80 积分 100
[求助]用批处理如何取上月月末日期
求助:如何用批处理取上月月末日期?
第2楼 Hanyeguxing 发表于 2010-03-15 12:56
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
1,获取当月月份数字
2,减1运算获取上月月份数字。
3,如果差为0,即本月为1,上月就为12
4,如果差为2,即上月为2,则获取年份,然后求余运算,以判断是否为闰年,以确定2月为28还是29天
5,月份的天数即为此月月末的日期

这个问题用批处理做比较麻烦,推荐使用vbs等

[ Last edited by Hanyeguxing on 2010-3-15 at 12:58 ]
第3楼 Hanyeguxing 发表于 2010-03-15 14:05
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
日期必须符合 2009-09-03 星期四 这类的格式,最后获取的变量%D%就是上月月末日期


[ Last edited by Hanyeguxing on 2010-3-15 at 14:22 ]
第4楼 hgx126 发表于 2010-03-15 17:10
初级用户 发帖 80 积分 100
经过Hanyeguxing兄的提示,我制作出来完整的取日期的批处理:


谢谢Hanyeguxing兄。

[ Last edited by hgx126 on 2010-3-15 at 18:07 ]
第5楼 Hanyeguxing 发表于 2010-03-15 18:20
银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂
if %m%==6 if %%a%%4==0 set d=29 错误
call set mon=%%t:~%m%,2%% 没有必要

变量%y%为年份,%m%为月份(在set/a m=%m%-1之前,%m%为当前月,之后为上一月),%d%为日期。
%n%为截取用,%r%为判断闰年用的余数。
只有当上一月为0时,才需要计算上一年的年份,并将0改成12。
如果要为月份补前面的0,可以在echo前加上

或是


[ Last edited by Hanyeguxing on 2010-3-15 at 18:55 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023