中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-02 21:41
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 俺急用啊!请看!!!!!!!!! 查看 1,012 回复 11
楼 主 俺急用啊!请看!!!!!!!!! 发表于 2007-01-02 03:39 ·  IANA 局域网IP(Private-Use)
初级用户
积分 32
发帖 14
注册 2007-01-02 03:06
19年会员
UID 75225
性别 男
状态 离线
偶想做一个判断型的批处理:
具体想法是:判断如果当前电脑时间大于或等于23:00.则电脑启动后自动关机(我将把这个批处理放到启动项里).也就是说if time>23:00电脑根本就启动不了!
谢谢指点啊!


──────────────── 版务记录 ────────────────
执行:namejm
原标题:俺急用啊!请看!!!!!!!!!
说明:因标题过于模糊,不便于论坛的搜索和管理,请在三日内修改标题。
提示:修改标题请在当前帖的右下脚点
编辑修改完毕之后按 编辑帖子 即可。
处罚:因属论坛新人,暂时不予处罚;若三日之后尚未修改标题,将扣除2点积分,
以示惩罚,并由版主强制修改标题。请点击
这里阅读论坛发帖规定,以避免在
今后的讨论中违规发帖。
──────────────── 版务记录 ────────────────


[ Last edited by namejm on 2007-1-2 at 10:58 AM ]
2 发表于 2007-01-02 03:45 ·  中国 广东 清远 联通
高级用户
★★
积分 846
发帖 247
注册 2006-10-27 12:03
19年会员
UID 68504
性别 男
来自 湖南==》广东
状态 离线
试试这个?至于关机的部分自己去做了!

@echo off
if %time% gtr 23:30 (echo 已经过了时间!) else echo 时间还没到!

pause>nul


[ Last edited by youxi01 on 2007-1-2 at 03:47 AM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
yuhaomiao +1 2007-01-02 03:59
3 对! 发表于 2007-01-02 04:00 ·  IANA 局域网IP(Private-Use)
初级用户
积分 32
发帖 14
注册 2007-01-02 03:06
19年会员
UID 75225
性别 男
状态 离线
非常感谢你啊!但是我的dos里显示else不是命令啊?:o
4 对第二楼的说的 发表于 2007-01-02 04:07 ·  IANA 局域网IP(Private-Use)
初级用户
积分 32
发帖 14
注册 2007-01-02 03:06
19年会员
UID 75225
性别 男
状态 离线
你说的不错我把你的命令改为
@echo off
if %time% gtr 23:30 (shutdown /s /t 78) else echo 时间还没到!
pause>nul
可是dos提示俺else不是命令,而且俺想请教一下gtr是什么意思?还有最后那个pause>nul是什么意思?
非常感谢!
5 发表于 2007-01-02 06:14 ·  中国 河南 许昌 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
gtr:用if/?查看
pause>nul:暂停,但不显示“请按任意键继续. . .”字符

如果是纯DOS下,好像不能使用for....else....格式,而且如果是XP系统,启动XP系统时也不能使用批处理。
6 发表于 2007-01-02 06:48 ·  中国 广东 广州 电信
金牌会员
★★★★
一叶枝头,万树皆春
积分 2,564
发帖 1,127
注册 2006-12-25 22:57
19年会员
UID 74552
性别 男
状态 离线
不知道你的是什么系统
7 快啊,俺的问题还未解决啊? 发表于 2007-01-02 07:02 ·  IANA 局域网IP(Private-Use)
初级用户
积分 32
发帖 14
注册 2007-01-02 03:06
19年会员
UID 75225
性别 男
状态 离线
我用的是xp sp2系统的.现在我有想实现另一个功能!
思路是:
判断如果当前电脑时间在23:00和6:00之间.则电脑启动后自动关机(我将把这个批处理

放到启动项里).也就是说if time>23:00或者time<6:00电脑根本就启动不了!

快啊!我现在真是很急的用啊!

谢谢!
8 发表于 2007-01-02 07:15 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 2,227
发帖 790
注册 2005-01-27 00:00
21年会员
UID 35703
性别 男
状态 离线
测试一下HOUR.COM和HOUR1.BAT。

1.输入下面几行:
e100 B4 2C CD 21 8A C5 B4 4C CD 21
rcx
0A
nHOUR.COM
w
q
存为hour.dbg

2.在DOS下,
debug<hour.dbg

3.把下面的内容存为HOUR1.BAT测试
@echo off
hour.com
if errorlevel 23 goto h23
if errorlevel 22 goto h22
if errorlevel 21 goto h21
if errorlevel 20 goto h20
if errorlevel 19 goto h19
if errorlevel 18 goto h18
if errorlevel 17 goto h17
if errorlevel 16 goto h16
if errorlevel 15 goto h15
if errorlevel 14 goto h14
if errorlevel 13 goto h13
if errorlevel 12 goto h12
if errorlevel 11 goto h11
if errorlevel 10 goto h10
if errorlevel 9 goto h09
if errorlevel 8 goto h08
if errorlevel 7 goto h07
if errorlevel 6 goto h06
if errorlevel 5 goto h05
if errorlevel 4 goto h04
if errorlevel 3 goto h03
if errorlevel 2 goto h02
if errorlevel 1 goto h01
if errorlevel 0 goto h00
echo Hour is wrong!
goto endall
:h00
echo 24 hours!
goto endall
:h01
echo 1 hour!
goto endall
:h02
echo 2 hours!
goto endall
:h03
echo 3 hours!
goto endall
:h04
echo 4 hours!
goto endall
:h05
echo 5 hours!
goto endall
:h06
echo 6 hours!
goto endall
:h07
echo 7 hours!
goto endall
:h08
echo 8 hours!
goto endall
:h09
echo 9 hours!
goto endall
:h10
echo 10 hours!
goto endall
:h11
echo 11 hour!
goto endall
:h12
echo 12 hours!
goto endall
:h13
echo 13 hours!
goto endall
:h14
echo 14 hours!
goto endall
:h15
echo 15 hours!
goto endall
:h16
echo 16 hours!
goto endall
:h17
echo 17 hours!
goto endall
:h18
echo 18 hours!
goto endall
:h19
echo 19 hours!
goto endall
:h20
echo 20 hours!
goto endall
:h21
echo 21 hour!
goto endall
:h22
echo 22 hours!
goto endall
:h23
echo 23 hours!
:endall
echo Bye.
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
ccwan +5 2007-01-02 07:42
my major is english----my love is dos----my teacher is the buddha----my friends--how about U
9 呵呵 发表于 2007-01-02 07:40 ·  IANA 局域网IP(Private-Use)
初级用户
积分 32
发帖 14
注册 2007-01-02 03:06
19年会员
UID 75225
性别 男
状态 离线
谢谢!俺想给你加分可是提示俺不能加.嘿嘿!
只能说:非常感谢,偶非常爱这个论坛!
10 啊,还有! 发表于 2007-01-02 07:41 ·  IANA 局域网IP(Private-Use)
初级用户
积分 32
发帖 14
注册 2007-01-02 03:06
19年会员
UID 75225
性别 男
状态 离线
虽然俺看的是一塌糊涂!
11 啊啊啊啊啊啊啊 发表于 2007-01-02 07:57 ·  IANA 局域网IP(Private-Use)
初级用户
积分 32
发帖 14
注册 2007-01-02 03:06
19年会员
UID 75225
性别 男
状态 离线
偶照着你那样做了,可是我看的是一塌糊涂啊,第三条俺能看懂,可是第一二条我真的是一点都看不懂啊!特别是我照着你那样的做,生成了一个名为HOUR的ms-dos应用程序,真不知道这三者之间有什么关系?
顺便问一下dos下的"或者"用什么符号啊?
不好意思!偶很苯的!
谢谢!
12 发表于 2007-01-02 09:24 ·  中国 江苏 苏州 电信
银牌会员
★★★
积分 2,227
发帖 790
注册 2005-01-27 00:00
21年会员
UID 35703
性别 男
状态 离线
原理是用DOS中断的2Ch取时间功能,再将钟点放入DOS的ERRORLEVEL中。其实如果有特殊计算要求,可以设计不同的HOURx.COM,比如时间在七一时段返回1,否则返回0,等等。
my major is english----my love is dos----my teacher is the buddha----my friends--how about U
论坛跳转: