Board logo

标题: [数值计算] 批处理怎样显示4月5月前一天的日期? [打印本页]

作者: a303862146    时间: 2008-4-16 21:38     标题: 批处理怎样显示4月5月前一天的日期?

1 求助。。求批处理 需要 一个4月5月范围内把当前日期的前一天日期显示出来,比如今天是5月1日,他要显示:2008430。。。。
作者: 随风    时间: 2008-4-16 22:15

如果只是4,5月那就好办了。
:
  1. @echo off
  2. for /f "tokens=1-3 delims=.-/ " %%a in ("%date%") do (
  3.    set /a y=%%a,m=100%%b%%100,d=100%%c%%100-1
  4. )
  5. if %d% leq 0 set /a m-=1,d=30
  6. echo %y%%m%%d%
  7. pause
复制代码

作者: a303862146    时间: 2008-4-18 01:30

delims=.-/ 这里的"."和"-"是什么意思?
作者: a303862146    时间: 2008-4-18 01:32

set /a y=%%a,m=100%%b%%100,d=100%%c%%100-1
是什么意思哦- -
作者: a303862146    时间: 2008-4-18 02:16

看了随风大哥某个关于FOR /f 的命令讲解帖子....终于明白了- -是什么意思.....但是还有个问题- -~!这个100是什么意思- -
作者: 随风    时间: 2008-4-18 02:37     标题: 回复 5楼 的帖子

取余,为了防止日期出现0开头的现象,导致计算出错。
假设日期为 2008-05-03
set /a m=100日期%%100
即: set /a m=10005%%100
作者: gaochongjun    时间: 2010-9-23 21:25

  1. @echo off
  2. color 1f
  3. echo  现在日期是:%date%。
  4. mshta vbscript:createobject("sapi.spvoice").speak("现在日期是:%date%")(window.close)
  5. pause
复制代码
这个可以显示日期,还能报时,不过,似乎不可以显示昨天的日期。。。
作者: Batcher    时间: 2010-9-23 22:43

批处理获取指定天数之前的日期
http://bbs.bathome.net/thread-3330-1-1.html




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2