联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
::截取出时和分连到一起 set time1=%time:~0,2%%time:~3,2% ::去除时间最前面可能存在的那个空格 set time1=%time1: =% ::下面再开始比较吧,全部直接用数字,如845,910,1000等
@echo off set "time= 9:05:45.99" echo 假设当前时间为%time% set/p=若在内显示<nul call colstr a 0 "早" 0 1 0 set/p= 若大于9:10显示<nul call colstr d 0 "迟" 0 1 1 echo --------------------------------------- if "%time%" geq " 8:45" if "%time%" lss " 9:10" call colstr a 0 "早" 0 1 1 if "%time%" geq " 9:10" call colstr d 0 "迟" 0 1 1 pause
@echo off&setlocal enabledelayedexpansion set "times=早读 第一节 第二节 第三节 第四节 午读 第五节 第六节 第七节 放学后" set "hm=7:30 8:25 9:15 10:05 10:55 13:30 14:25 15:20 16:00 16:55" set t=%time:~,2%%time:~3,2% for %%i in (%hm%) do ( set /a n+=1&set a=%%i&set a=!a:^:=! if %t% lss 730 ( goto end ) else ( if %t% equ !a! ( goto echo ) else ( if %t% lss !a! set /a n-=1&goto echo ) ) ) :end echo 不在时间段内 pause>nul&goto :eof :echo for /f "tokens=%n% delims= " %%i in ("%times%") do echo %%i pause>nul