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

[日期时间] 【已解决】批处理怎样根据文件的修改时间间隔执行不同的程序?

[复制链接]
发表于 2015-1-23 13:07:35 | 显示全部楼层 |阅读模式
本帖最后由 oqis 于 2015-1-23 21:39 编辑

有个a.htm文件,如果它的修改时间距离现在超过3小时就执行A程序更新它,否则继续使用它进行B程序。
不知道问题说清楚没?帮帮忙~~~

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2015-1-23 21:38:43 | 显示全部楼层
自己找来的,看不懂但管用~~~~~,留给需要的朋友做个参考吧
  1. setlocal enabledelayedexpansion
  2. set "fn=D:\a.htm"
  3. for %%a in ("%fn%") do (
  4.   if exist "%fn%" (
  5.     for /f "tokens=1-10 delims=/-: " %%i in ("%%~ta !date:~,10! !time:~,5!") do (
  6.       set/a y1=%%i,m1=1%%j%%100,d1=1%%k%%100,h1=1%%l%%100,f1=1%%m%%100,y2=%%n,m2=1%%o%%100,d2=1%%p%%100,h2=1%%q%%100,f2=1%%r%%100
  7.       set /a "f=(1461*(y2+(m2-14)/12)/4+367*(m2-2-(m2-14)/12*12)/12-3*((y2+(m2-14)/12)/100+1)/4-1461*(y1+(m1-14)/12)/4-367*(m1-2-(m1-14)/12*12)/12+3*((y1+(m1-14)/12)/100+1)/4-d1+d2)*1440+(h2-h1)*60+f2-f1"
  8.       if !f! geq 180 (
  9.        echo 当前时间:【!date:~,10! !time:~,5!】距文件修改时间:【%%~ta】已超过设定值[分钟]
  10. start A...
  11.       ) else (
  12. echo 没有超过设定值!
  13. goto uu)
  14.     )
  15.   )
  16. )
  17. pause&exit
  18. :uu
  19. start B...
  20. pause&exit
复制代码
发表于 2015-1-23 23:03:18 | 显示全部楼层
回复 2# oqis


    友情提示,%%~ta 和 !date:~,10! 在不同的系统里面格式可能不同,一定要做好充分的测试。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 21:51 , Processed in 0.017282 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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