中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-08 15:25
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何判断处于哪个时间段?
可打印版本  1,909 / 23
第16楼 pykacha 发表于 2008-05-13 17:58
初级用户 发帖 73 积分 156
其实我最终的目的是要判断当前时间是学校上课的第几节课,在前辈的指导下我完成了代码,希望各位前辈看看还可不可以优化。
-----------------------------------------
set wt=不在时间段内
set t1=%time:~0,5%
if "%t1%" geq " 7:30" (
set wt=早读
)
if "%t1%" geq " 8:25" (
set wt=第一节
)
if "%t1%" geq " 9:15" (
set wt=第二节
)
if "%t1%" geq "10:05" (
set wt=第三节
)
if "%t1%" geq "10:55" (
set wt=第四节
)
if "%t1%" geq "13:30" (
set wt=午读
)
if "%t1%" geq "14:25" (
set wt=第五节
)
if "%t1%" geq "15:20" (
set wt=第六节
)
if "%t1%" geq "16:00" (
set wt=第七节
)
if "%t1%" geq "16:55" (
set wt=放学后
)
echo %wt%
--------------------------------------
谢谢大家。
第17楼 pooronce 发表于 2008-05-13 17:58
中级用户 发帖 250 积分 484
另,实际上不带引号的话,空格就给忽略掉了,长度都不同了,还怎么比
第18楼 pooronce 发表于 2008-05-13 18:05
中级用户 发帖 250 积分 484
re: pykacha
你那段代码,如果都是这样单命令的话,括号可以去掉全部放单行里
另,比较的数据建议不要用带冒号的格式,既然用到了中转变量,那么可以这样:
第19楼 knoppix7 发表于 2008-05-13 18:07
银牌会员 发帖 634 积分 1,287 来自 cmd.exe
时*分然后/一个数.
::EXP(只是一种方法)
上课时间假设8:00,在是9:00,一节课40分钟
然后/40+1,得2.说明是第二节.
这样可以很据结果来分析.不过第四节以后的检查就要加修正值了

而且不是特别准就是了

[ Last edited by knoppix7 on 2008-5-13 at 06:09 PM ]
第20楼 plp626 发表于 2008-05-13 18:36
银牌会员 发帖 1,020 积分 2,278
我说你们向复杂了还不信,只是有点疏忽,没带双引号。。。

Colstr函数在函数库里有,我就不写了:


[ Last edited by plp626 on 2008-5-13 at 08:54 PM ]
第21楼 pooronce 发表于 2008-05-13 18:51
中级用户 发帖 250 积分 484
呵呵,这样带上引号倒是靠谱了,想来1也应该比空格大。(还没试过这样比啊)
第22楼 pykacha 发表于 2008-05-13 19:31
初级用户 发帖 73 积分 156
pooronce在18楼的提议很好,这样在编写代码时设置每节课时间时输入起来方便了不少,以后修改也方便.
19楼前辈的意见可以有助于我改进上午的时间判断,下午因为受眼保健操影响,就没什么规律了.

多谢了
第23楼 HAT 发表于 2008-05-13 19:39
版主 发帖 5,017 积分 9,023
16楼
尽量使用if...else...来代替if...
第24楼 bat-zw 发表于 2008-05-14 00:11
金牌会员 发帖 1,276 积分 3,105
可以用for来精简下:


[ Last edited by zw19750516 on 2008-5-14 at 01:18 AM ]
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023