批处理判断日期范围,判断时间,并执行某程序

判断当前日期是不是2011年1月至3月之间
如果不是 执行11.bat
如果是 执行22.bat

22.bat内容如下:
判断今天是不是20号,如果是,跳转到标记 20, 否则按顺序执行下一行.

请不要教我什么计划任务之类的,,,还有转载一大堆的滚开
分多得是,答案满意随意追加.

第1个回答  推荐于2016-02-24
关于8进制的问题,在不做变量替换的情况下在数值前面添加一个数字让整个数字扩大,或者添加“/i”参数强制比较字符串,也是可以解决的吧。
调用批处理:

@echo OFF
FOR /F "tokens=1,2,3 delims=-" %%i in ("%DATE%") do if %%i==2011 (if 1%%j lss 104 (call 22.bat %%k) else call 11.bat) else call 11.bat

或者:
FOR /F "tokens=1,2,3 delims=-" %%i in ("%DATE%") do if %%i==2011 (if /i %%j lss 04 (call 22.bat %%k) else call 11.bat) else call 11.bat

不用for:
if /i %DATE:~0,4%==2011 (if /i %DATE:~5,2% lss 04 (call 22.bat %DATE:~-2%) else call 11.bat) else call 11.bat

22.bat 内容:

if /i %1==20 goto 20

echo 不是20号
pause

:20

echo 是20号
pause本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网