找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27312|回复: 5

[日期时间] 批处理倒计时

[复制链接]
发表于 2012-4-21 17:08:52 | 显示全部楼层 |阅读模式
本帖最后由 plp626 于 2012-4-21 17:11 编辑
  1. @echo off||倒计时;
  2. :: 备份自用 code by plp

  3. if "%1"==":timeout" goto%1

  4. start/b %~fs0 :timeout "2015-1-1"

  5. cmd /k "prompt=-$g$s&echo 获取帮助请键入 help "
  6. exit

  7. :timeout
  8. set dates=%date%
  9. call edate "%dates:~0,10%" "%~2" xx
  10. set/a xx-=1
  11. :lp
  12. call:time2i "%time%" i&call:i2time 8640000-i hfs
  13. title 现在距离 %~2 还有 %xx%天 零 %hfs% 秒
  14. goto:lp

  15. :time2i <time> <rt>
  16. setlocal&set t=%~1
  17. set/a w=1%t:~-2%,s=1%t:~-5,2%,f=1%t:~-8,2%,h=1%t:~-11,2%
  18. set/a w-=100,s-=100,f-=100,h-=100,i=h*3600+f*60+s,i=i*100+w
  19. endlocal&(if %2.==. (echo %i%)else set %2=%i%)&goto:eof
  20. :i2time <i> <hour> <minute> <second> <perseconde>
  21. setlocal&set/a t=%1
  22. set/a w=t%%100,t/=100,h=t/3600,t%%=3600,f=t/60,t%%=60,s=t
  23. for %%a in (%w%.w,%s%.s,%f%.f,%h%.h)do set %%~xa=0%%~na
  24. set ret=%.h:~-2%:%.f:~-2%:%.s:~-2%.%.w:~-2%
  25. endlocal&(if %2.==. (%ret%)else set %2=%ret%)&goto:eof
复制代码
发表于 2012-4-21 19:34:35 | 显示全部楼层
%XX%溢出了
发表于 2012-4-21 20:03:49 | 显示全部楼层

  1. call edate "%dates:~0,10%" "%~2" xx
复制代码
找不到edate
复杂多!~
发表于 2012-10-6 00:56:54 | 显示全部楼层
溢出!!!
 楼主| 发表于 2012-10-6 12:19:39 | 显示全部楼层
回复 3# cjiabing
  1.     @echo off||倒计时;
  2. :: 备份自用 code by plp

  3. if "%1"==":timeout" (goto%1)else start/b %~fs0 :timeout "2015-1-1"
  4. cmd /k "prompt=-$g$s&echo 获取帮助请键入 help "
  5. exit

  6. :timeout
  7. set dates=%date%
  8. call:edate "%dates:~0,10%" "%~2" xx
  9. set/a xx-=1
  10. :lp
  11. call:time2i "%time%" i&call:i2time 8640000-i hfs
  12. title 现在距离 %~2 还有 %xx%天 零 %hfs% 秒
  13. goto:lp

  14. rem ------------------------- sub ----------------------------
  15. :time2i <time> <rt>
  16. setlocal&set t=%~1
  17. set/a w=1%t:~-2%,s=1%t:~-5,2%,f=1%t:~-8,2%,h=1%t:~-11,2%
  18. set/a w-=100,s-=100,f-=100,h-=100,i=h*3600+f*60+s,i=i*100+w
  19. endlocal&(if %2.==. (echo %i%)else set %2=%i%)&goto:eof
  20. :i2time <i> <hour> <minute> <second> <perseconde>
  21. setlocal&set/a t=%1
  22. set/a w=t%%100,t/=100,h=t/3600,t%%=3600,f=t/60,t%%=60,s=t
  23. for %%a in (%w%.w,%s%.s,%f%.f,%h%.h)do set %%~xa=0%%~na
  24. set ret=%.h:~-2%:%.f:~-2%:%.s:~-2%.%.w:~-2%
  25. endlocal&(if %2.==. (%ret%)else set %2=%ret%)&goto:eof

  26. :edate <"DATE1"> <"DATE2"> <RetVarName>
  27. setlocal
  28. set d1=%~1&set d2=%~2
  29. set d1=%d1:~0,10%&set d2=%d2:~0,10%
  30. set d1=%d1:-= %&set d2=%d2:-= %
  31. call:date2i %d1: 0= % i1
  32. call:date2i %d2: 0= % i2
  33. set/a c=i2-i1
  34. endlocal&(if %3.==. (echo %c%) else set %3=%c%)&goto:eof

  35. :date2i <year> <month> <day> <RetVarName>
  36. setlocal&set/a y=%1,m=%2,d=%3
  37. set/am+=9,m%%=12,y-=m/10,i=365*y+y/4-y/100+y/400+(m*153+2)/5+d-1
  38. endlocal&(if %4.==. (echo %i%)else set %4=%i%)&goto:eof
复制代码
发表于 2013-3-10 20:11:49 | 显示全部楼层
  1. @echo off
  2. title 定时提醒器正在运行……
  3. :ma
  4. if '%1'=='%time:~0,2%:%time:~3,2%:%time:~6,2%' goto nlxx
  5. goto ma
  6. :nlxx
  7. title 闹铃响了!!!!!!
  8. :xiang
  9. nircmd beep 1000 200
  10. goto xiang
复制代码
一样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 22:56 , Processed in 0.018544 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表