Board logo

标题: DOS6.22 无法实现%time:~0,2% [打印本页]

作者: penglin3000     时间: 2010-10-12 17:22    标题: 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点后执行另外的程序
作者: DOSforever     时间: 2010-10-12 19:36
参考下这里: http://www.cn-dos.net/forum/viewthread.php?tid=44744
作者: penglin3000     时间: 2010-10-12 20:01    标题: 楼上的看看

楼上的没懂我的意思 我的意思是 set t=%time:~0,2% 这个变量t在dos6.22下根本就被赋上值 t=“”的
作者: DOSforever     时间: 2010-10-12 20:12
你的意思是在执行前获取一下当前时间的时间,如果是3点前执行一个程序,3点后执行另外的程序?
可以用 4DOS 的 _time 内部变量,如 echo %_time ,得到的就是当前的时间。问题是我不知道如何判断怎么算是3点以前,怎么算是3点以后?
作者: penglin3000     时间: 2010-10-12 20:28    标题: 谢谢 楼上的及时回复

你的意思 set t=%_time
t能有值是吗? 如果t有值
我用 if t geq 15 (。。。) else (。。。) 就可以了吧
作者: penglin3000     时间: 2010-10-12 20:38    标题: 楼上的再看看

没有echo %_time
也没有echo %_time%
只有 echo %time%
楼上的是不是 笔误能写清楚点没 _time 是dos的内部变量么
作者: DOSforever     时间: 2010-10-12 22:49
请看清楚,我说的是 4DOS,是 DOS 下最完美的命令解释器。在 4DOS 下可以有这些内部变量。
作者: DOSforever     时间: 2010-10-12 22:52
或者你用 _hour 这内部变量,它是24小时格式的,可以用条件判断语句来判断是否大于或小于15点。
作者: penglin3000     时间: 2010-10-13 09:11    标题: 楼上的

楼上的 dos 6.22 无_hour 系统变量
作者: HAT     时间: 2010-10-13 14:05    标题: Re 9 楼

他说的4DOS跟你说的DOS6.22不是一回事
作者: penglin3000     时间: 2010-10-13 14:38    标题: 谢谢版主亲自回复

现在的环境只能用dos6.22 还有什么其他办法吗
作者: HAT     时间: 2010-10-13 22:07
DOS下如何获取并分解系统时钟信息(日期、时间)?
http://www.cn-dos.net/forum/viewthread.php?tid=19756