在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
批处理BAT中怎样进行时间间隔的判断? set XTHH=%time:~0,2% set XTMM=%time:~3,2% set JKSJ=%XTHH%%XTMM% if %JKSJ% leq 0830 ( echo 11111111111111 ) else ( if %JKSJ% geq 1730 ( echo 2222222222 ) else ( echo 333333333333333 ) ) 实现功能:JKSJ(0830<=JKSJ<=1730)时,输出333333,否则输出其它(111111或2222222222)。 问题:监控时间为0510-0726时,显示的不对。。存在BUG。。。按理来说显示111111,现在却显示33333,是不是要经过什么特殊处理呢?请教各位前辈。。。 下面就是针对08和09会被看做非法八进制数字的解决方法@echo off set XTHH=%time:~0,2% set XTMM=%time:~3,2% set JKSJ=%XTHH%%XTMM% if 1%JKSJ% leq 10830 ( echo 11111111111111 ) else ( if 1%JKSJ% geq 11730 ( echo 2222222222 ) else ( echo 333333333333333 ) ) pause 说明 0开头的数字会被BAT认为是八进制的数字,前面加个1可以避免此问题。 |
请发表评论