中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-04 21:48
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何判定时间范围 查看 882 回复 3
楼 主 如何判定时间范围 发表于 2007-03-21 06:01 ·  中国 云南 丽江 古城区 电信
初级用户
★★
积分 93
发帖 57
注册 2007-03-12 12:04
19年会员
UID 81503
性别 男
状态 离线
当我获取电脑机器时间后(TIME /T)

根据下列时间表:TIME.TXT

判定正在上哪一节课。

#=================#
# 作息时间表 #
#=================#

00:00,07:30,0,休息时间,
07:30,08:25,1,第一节,
08:25,09:25,2,第二节,
09:25,10:25,3,第三节,
10:25,11:20,4,第四节,
11:20,12:05,5,第五节,
12:05,14:30,0,休息时间,
14:30,15:25,6,第六节,
15:25,16:20,7,第七节,
16:20,17:05,8,第八节,
17:05,19:30,0,休息时间,
19:30,21:00,0,晚自习,
21:00,24:00,0,休息时间,



2 发表于 2007-03-21 07:02 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  不知道这个可不可以,没测试:
@Echo %bg% off&SetLocal EnableDelayedExpansion

for /f %%a in ('time/t') do set l_time=%%a

for /f "eol=# delims=, tokens=1-4" %%a in (time.txt) do (
if %%a LEQ %l_time% if %%b GEQ %l_time% echo/%l_time%:%%%c,%%d
)
pause&exit/b
3 发表于 2007-03-21 07:25 ·  中国 广东 广州 黄埔区 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
@echo off
set t0=%time::=%
set /a t0=%t0:~0,-5%
if %t0% geq 730 (
set /a t1+=1
if %t0% geq 825 (
set /a t1+=1
if %t0% geq 925 (
set /a t1+=1
if %t0% geq 1025 (
set /a t1+=1
if %t0% geq 1120 (
set /a t1+=1
if %t0% geq 1205 (
set t1=休息时间
if %t0% geq 1430 (
set /a t1=6
if %t0% geq 1525 (
set /a t1+=1
if %t0% geq 1620 (
set /a t1+=1
if %t0% geq 1705 (
set t1=休息时间
if %t0% geq 1930 (
set t1=自习时间
if %t0% geq 2100 (
set t1=休息时间
)))))))))))) else (
set t1=休息时间)
echo %t1%|find "时间">nul&&echo %t1%||echo 第%t1%节
pause>nul
4 比较运算符: 发表于 2007-06-06 17:42 ·  中国 云南 丽江 古城区 电信
初级用户
★★
积分 93
发帖 57
注册 2007-03-12 12:04
19年会员
UID 81503
性别 男
状态 离线
比较运算符:

EQU - 等于

NEQ - 不等于

LSS - 小于

LEQ - 小于或等于

GTR - 大于

GEQ - 大于或等于
论坛跳转: