中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-10-24 11:34
共 47,815 主题排行 / 349,928 发帖 / 今日 0 篇 / 48,288 会员排行
DOS疑难解答 & 问题讨论 (解答室) » DOS6.22 无法实现%time:~0,2%
可打印版本  2,157 / 11
第1楼 penglin3000 发表于 2010-10-12 17:22
新手上路 发帖 8 积分 16
DOS6.22 无法实现%time:~0,2%
在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楼 DOSforever 发表于 2010-10-12 19:36
金牌会员 发帖 2,239 积分 4,639
第3楼 penglin3000 发表于 2010-10-12 20:01
新手上路 发帖 8 积分 16
楼上的看看
楼上的没懂我的意思 我的意思是 set t=%time:~0,2% 这个变量t在dos6.22下根本就被赋上值 t=“”的
第4楼 DOSforever 发表于 2010-10-12 20:12
金牌会员 发帖 2,239 积分 4,639
你的意思是在执行前获取一下当前时间的时间,如果是3点前执行一个程序,3点后执行另外的程序?
可以用 4DOS 的 _time 内部变量,如 echo %_time ,得到的就是当前的时间。问题是我不知道如何判断怎么算是3点以前,怎么算是3点以后?
第5楼 penglin3000 发表于 2010-10-12 20:28
新手上路 发帖 8 积分 16
谢谢 楼上的及时回复
你的意思 set t=%_time
t能有值是吗? 如果t有值
我用 if t geq 15 (。。。) else (。。。) 就可以了吧
第6楼 penglin3000 发表于 2010-10-12 20:38
新手上路 发帖 8 积分 16
楼上的再看看
没有echo %_time
也没有echo %_time%
只有 echo %time%
楼上的是不是 笔误能写清楚点没 _time 是dos的内部变量么
第7楼 DOSforever 发表于 2010-10-12 22:49
金牌会员 发帖 2,239 积分 4,639
请看清楚,我说的是 4DOS,是 DOS 下最完美的命令解释器。在 4DOS 下可以有这些内部变量。
第8楼 DOSforever 发表于 2010-10-12 22:52
金牌会员 发帖 2,239 积分 4,639
或者你用 _hour 这内部变量,它是24小时格式的,可以用条件判断语句来判断是否大于或小于15点。
第9楼 penglin3000 发表于 2010-10-13 09:11
新手上路 发帖 8 积分 16
楼上的
楼上的 dos 6.22 无_hour 系统变量
第10楼 HAT 发表于 2010-10-13 14:05
版主 发帖 5,017 积分 9,023
Re 9 楼
他说的4DOS跟你说的DOS6.22不是一回事
第11楼 penglin3000 发表于 2010-10-13 14:38
新手上路 发帖 8 积分 16
谢谢版主亲自回复
现在的环境只能用dos6.22 还有什么其他办法吗
第12楼 HAT 发表于 2010-10-13 22:07
版主 发帖 5,017 积分 9,023
DOS下如何获取并分解系统时钟信息(日期、时间)?
http://www.cn-dos.net/forum/viewthread.php?tid=19756
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023