中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-16 18:34
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于时间和注册表的批处理 查看 1,053 回复 9
楼 主 关于时间和注册表的批处理 发表于 2008-01-21 15:08 ·  中国 湖北 武汉 蔡甸区 电信
初级用户
★★
积分 126
发帖 53
注册 2007-04-03 12:33
UID 83832
性别 男
状态 离线

我现在有3个注册表文件1.reg, 2.reg, 3.reg. 请高手帮我写一个批处理实现以下功能:如果时间是0点到8点则调用1.reg; 如果时间是8点到16点则调用2.reg, 如果时间是16点到24点则调用3.reg.
2 发表于 2008-01-21 15:20 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
@echo off
if %time:~0,2% lss 8 (
reg import 1.reg
) else if %time:~0,2% lss 16 (
reg import 2.reg
) else if %time:~0,2% lss 24 (
reg import 3.reg
)
3 lss 是什么东西啊? 发表于 2008-01-21 15:23 ·  中国 湖北 武汉 蔡甸区 电信
初级用户
★★
积分 126
发帖 53
注册 2007-04-03 12:33
UID 83832
性别 男
状态 离线
lss 是什么东西啊?不需要额外的文件吧?
4 发表于 2008-01-21 15:28 ·  中国 湖北 武汉 蔡甸区 电信
初级用户
★★
积分 126
发帖 53
注册 2007-04-03 12:33
UID 83832
性别 男
状态 离线
还有,如果要精确到分钟,还能用lss吗?比如在0:45分到8:30之间运行test.reg
5 发表于 2008-01-21 15:35 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
UID 54766
性别 男
来自 上海
状态 离线
@echo off
:begin
if %time:~0,2% lss 8 regedit /s 1.reg
if %time:~0,2% geq 8 if %time:~0,2% lss 16 regedit /s 2.reg
if %time:~0,2% geq 8 if %time:~0,2% geq 16 if %time:~0,2% leq 23 regedit /s 3.reg
ping/n 100 127.1>nul
goto begin

想隐藏窗口
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
if %time:~0,2% lss 8 regedit /s 1.reg
if %time:~0,2% geq 8 if %time:~0,2% lss 16 regedit /s 2.reg
if %time:~0,2% geq 8 if %time:~0,2% geq 16 if %time:~0,2% leq 23 regedit /s 3.reg
ping/n 100 127.1>nul
goto begin
第一高手 第二高手

6 发表于 2008-01-21 15:41 ·  中国 湖北 武汉 蔡甸区 电信
初级用户
★★
积分 126
发帖 53
注册 2007-04-03 12:33
UID 83832
性别 男
状态 离线
谢谢!如果要精确到分钟,比如在0:45分到8:30之间运行test.reg ,又该怎么写啊?
7 发表于 2008-01-21 15:44 ·  中国 上海 松江区 电信
铂金会员
★★★★
DOS一根葱
积分 5,493
发帖 2,315
注册 2006-05-01 10:41
UID 54766
性别 男
来自 上海
状态 离线
%time:~0,2%小时
%time:~3,2%分钟
关于 if
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
自己动手吧
第一高手 第二高手

8 谢谢 发表于 2008-01-21 15:53 ·  中国 湖北 武汉 蔡甸区 电信
初级用户
★★
积分 126
发帖 53
注册 2007-04-03 12:33
UID 83832
性别 男
状态 离线
我想问一下,类似于 LSS 这样的参数,对被比较的值有什么要求吗?一定要求是整数吗?如果是像8:45这样的时间值该怎么处理啊?
9 发表于 2008-01-21 21:18 ·  中国 重庆 九龙坡区 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
UID 89899
性别 男
状态 离线
自己动手测试一下吧^_^


if 8:45 gtr 8:46 (echo 大于) else (echo 小于)
10 终于解决了 发表于 2008-01-21 23:08 ·  中国 湖北 武汉 电信
初级用户
★★
积分 126
发帖 53
注册 2007-04-03 12:33
UID 83832
性别 男
状态 离线
呵呵,刚测试了,可以!! 终于解决了! thanks very much!
论坛跳转: