标题: [文件操作] 批处理怎么连续输出当前时间? [打印本页]
作者: wenlong445445 时间: 2010-6-25 12:08 标题: 批处理怎么连续输出当前时间?
每次输出的时间都是第一次运行程序时的时间。
问下怎么才能输出执行这段代码时的时间呢。
比如要输出10次,每次都要是当时的系统时间。
[ 本帖最后由 wenlong445445 于 2010-6-25 14:13 编辑 ]
作者: 随风 时间: 2010-6-25 13:48
请不要用代码说明你的意图,用文字。
作者: wenlong445445 时间: 2010-6-25 14:10
没有注意马上就改
就是想知道一下怎么才能连续的输出当前时间,比如一个循环连续的输出当前时间,中间延时100秒。
比如第一次输出的是12:00:00,
第二次输出的是12:01:50
[ 本帖最后由 wenlong445445 于 2010-6-25 14:12 编辑 ]
作者: zcydez 时间: 2010-6-25 14:16
@cls
@echo %time%
@%0
作者: wenlong445445 时间: 2010-6-25 14:21
谢谢
@echo off
for /l %%i in (1,1,10) do (
@cls
@echo %time%
@%0
ping -n 10 127.0.0.1>null
)
pause
这样写对不,我想要的是多次输出当前时间,每隔一会就输出一次。
[ 本帖最后由 wenlong445445 于 2010-6-25 14:26 编辑 ]
作者: renmingwu 时间: 2010-6-25 15:09
- @echo off
- :time
- echo 现在时间是:
- echo "%date:~0,10% %time:~0,8%"
- ping -n 5 127.0.0.1>nul
- goto time
复制代码
刚才没看到输入10次,用for就可以10次。
[ 本帖最后由 renmingwu 于 2010-6-25 15:13 编辑 ]
作者: broly 时间: 2010-6-25 17:42
利用ping命令可以实现大概的延时。用VBS可以比较精确延时。
下面用ping实现粗略的100秒延时10次:
- @echo off
- for /l %%i in (1 1 10) do (
- echo 开始时间:%time%
- ping -n 110 127.1>nul
- echo 结束时间:%time%
- echo.
- echo.
- )
- pause>nul
复制代码
[ 本帖最后由 broly 于 2010-6-25 17:45 编辑 ]
作者: pingdan 时间: 2010-6-25 20:29
以上两个的运行结果不对啊.
作者: sgaizxt001 时间: 2010-6-25 22:13
- @echo off
- setlocal enabledelayedexpansion
- for /l %%i in (1,1,10) do call :lp
- pause
- goto :eof
- :lp
- echo !time!
- ping 127.1 -n 11 >nul
复制代码
因为ping的延迟误差加上call的时间消耗,结果不精确,循环的次数越多,误差就越大
听zqz的,修该了代码,误差有所减小
[ 本帖最后由 sgaizxt001 于 2010-6-25 23:34 编辑 ]
作者: zqz0012005 时间: 2010-6-25 23:22
call echo %%time%%
或者开启变量延迟,echo !time!
作者: zqz0012005 时间: 2010-6-25 23:45 标题: 回复 9楼 的帖子
开启了变量延迟后,为什么要用call呢?
作者: sgaizxt001 时间: 2010-6-26 02:11
可以不用call,不过测试误差都是20到50MS
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |