楼 主
DOS6.22 无法实现%time:~0,2%
发表于 2010-10-12 17:22 · 中国 四川 成都 电信
新手上路
★
积分 16
发帖 8
注册 2010-09-21 01:00
15年会员
UID 174564
性别 男
状态 离线
在XP cmd下 运行a.bat 内容如下
SET Times=%time:~0,2%%time:~3,2%%time:~6,2%
echo %Times%
能输出当前的时间没问题
但把a.bat 放在dos6.22下执行 输出的是空值 dos6.22下有什么办法取得当前时间吗?
我的目的就是为了3点前执行一个程序 3点后执行另外的程序
第 2 楼
发表于 2010-10-12 19:36 · 中国 上海 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
第 3 楼
楼上的看看
发表于 2010-10-12 20:01 · 中国 四川 成都 电信
新手上路
★
积分 16
发帖 8
注册 2010-09-21 01:00
15年会员
UID 174564
性别 男
状态 离线
楼上的没懂我的意思 我的意思是 set t=%time:~0,2% 这个变量t在dos6.22下根本就被赋上值 t=“”的
第 4 楼
发表于 2010-10-12 20:12 · 中国 上海 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
你的意思是在执行前获取一下当前时间的时间,如果是3点前执行一个程序,3点后执行另外的程序?
可以用 4DOS 的 _time 内部变量,如 echo %_time ,得到的就是当前的时间。问题是我不知道如何判断怎么算是3点以前,怎么算是3点以后?
第 5 楼
谢谢 楼上的及时回复
发表于 2010-10-12 20:28 · 中国 四川 成都 电信
新手上路
★
积分 16
发帖 8
注册 2010-09-21 01:00
15年会员
UID 174564
性别 男
状态 离线
你的意思 set t=%_time
t能有值是吗? 如果t有值
我用 if t geq 15 (。。。) else (。。。) 就可以了吧
第 6 楼
楼上的再看看
发表于 2010-10-12 20:38 · 中国 四川 成都 电信
新手上路
★
积分 16
发帖 8
注册 2010-09-21 01:00
15年会员
UID 174564
性别 男
状态 离线
没有echo %_time
也没有echo %_time%
只有 echo %time%
楼上的是不是 笔误能写清楚点没 _time 是dos的内部变量么
第 7 楼
发表于 2010-10-12 22:49 · 中国 上海 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
请看清楚,我说的是 4DOS,是 DOS 下最完美的命令解释器。在 4DOS 下可以有这些内部变量。
第 8 楼
发表于 2010-10-12 22:52 · 中国 上海 电信
金牌会员
★★★★
积分 4,639
发帖 2,239
注册 2005-01-30 00:00
21年会员
UID 35785
性别 男
状态 离线
或者你用 _hour 这内部变量,它是24小时格式的,可以用条件判断语句来判断是否大于或小于15点。
第 9 楼
楼上的
发表于 2010-10-13 09:11 · 中国 四川 成都 电信
新手上路
★
积分 16
发帖 8
注册 2010-09-21 01:00
15年会员
UID 174564
性别 男
状态 离线
第 10 楼
Re 9 楼
发表于 2010-10-13 14:05 · 中国 北京 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
第 11 楼
谢谢版主亲自回复
发表于 2010-10-13 14:38 · 中国 四川 成都 电信
新手上路
★
积分 16
发帖 8
注册 2010-09-21 01:00
15年会员
UID 174564
性别 男
状态 离线
现在的环境只能用dos6.22 还有什么其他办法吗
第 12 楼
发表于 2010-10-13 22:07 · 中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
论坛跳转: