我想实现下面功能
如果当前时间处于上午8:45到9:10之间,则设置wt为“早”,如果是9:10到10:00之间,则设置wt为“迟”。
请问要如何编写?
如果当前时间处于上午8:45到9:10之间,则设置wt为“早”,如果是9:10到10:00之间,则设置wt为“迟”。
请问要如何编写?
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off
set wt=
if "%time:~0,5%" geq " 8:45" (
if "%time:~0,5%" lss " 9:10" (
set wt=早
) else if "%time:~0,5%" geq " 9:10" (
if "%time:~0,5%" lss "10:00" (
set wt=迟
)
)
)
echo %wt%Originally posted by huahua0919 at 2008-5-13 11:52 AM:
8:45这样的结构能够用于if的判断大小吗??
Originally posted by huahua0919 at 2008-5-13 12:05 PM:
执行你的程序说 echo 处于关闭状态
@echo off
set t=%time:~0,5%
for /f "tokens=1,2 delims=:." %%a in ("%t%") do (
set /a s=100%%a%%100*60,f=100%%b%%100+s
)
set /a w=1/(f/525),1/(550/f)2>nul&&set var=早
set /a w=1/(f/551),1/(600/f)2>nul&&set var=迟
if defined var (echo %t% %var%) else echo %t% 不在指定时间段。
pause
if %time:~0,2%%time:~3,2% geq 845 (
if %time:~0,2%%time:~3,2% leq 910 (
set "wt=早"
) else if %time:~0,2%%time:~3,2% gtr 910 (
if %time:~0,2%%time:~3,2% leq 1000 (
set "wt=迟"
) else (
set "wt=太迟"
)
)
) else set "wt=太早"
echo %wt%
if %time% geq 08:45 if %time% lss 09:10 (echo 早) else if %time% geq 09:10 echo 迟Originally posted by plp626 at 2008-5-13 03:27 PM:
大家,想复杂了。
粘贴到命令行:
if %time% geq 08:45 if %time% lss 09:10 (echo 早) else if %time% geq 09:10 echo 迟
if %time% geq 08:45 if %time% lss 09:10 echo 早
if %time% geq 09:10 echo 迟Originally posted by plp626 at 2008-5-13 04:22 PM:
RE:pooronce
和那个没关系,
当前时间大于9:10才显示迟,你把9:10改小些再测试测试。。。
if %time% geq 08:45 if %time% lss 09:10 echo 早
if ...
::截取出时和分连到一起
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