批处理根据时间判断出错

来源:百度知道 编辑:UC知道 时间:2024/05/23 17:53:31
if %time% gtr 22:00:00.00 if %time% lss 23:59:00.00 goto 2
if %time% gtr 00:00:00.00 if %time% lss 10:00:00.00 goto 2
if %time% gtr 10:00:00.00 if %time% lss 22:00:00.00 goto 1
:2
pause
EXIT
:1
pause
EXIT

上面是我写的小批. 每天早10点到 晚10点跳转到:1 晚10点到早10点 跳转到:2 ,但是不知道为什么,后半夜2点到3点, 就出错 ,跳转到:1 , 奇怪了.其他的时间怎么判断都没有出错. 万分感谢.
现在确认了 用下面那种方法 都是2点到3点之间不好用 ,我也奇怪了

if %time:~0,2% gtr 22 (if %time:~0,2% lss 23 goto 2)
if %time:~0,2% gtr 0 (if %time:~0,2% lss 10 goto 2)
if %time:~0,2% gtr 10 (if %time:~0,2% lss 22 goto 1)
:2
pause
EXIT
:1
pause
EXIT

朋友你这个批处理不对吧。
现在是7点多,同样会出错哪里也跳不到,你在 :2 前面加一个Exit 试试一运行就退出了。
那样的时间格式是不能直接进行对比的。应该先把冒号去掉取前4位后再进行对比才行。

用gtr可以直接比较 ls的还多此一举了
你在批处理之家也问过了 我看看了 的确没有什么错误....即使时间不在这些范围内又有什么关系呢
但你错误的原因还真是奇怪 想不通