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

2024-11-25 22:02:51
推荐回答(1个)
回答(1):

关于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