中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-17 20:18
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理延时还有什么精巧点的技巧吗? 精华I 查看 32,765 回复 71
16 失误了 cup 100% :( 发表于 2006-12-26 19:27 ·  新西兰 奥克兰大区 奥克兰 Microsoft
高级用户
★★
积分 783
发帖 268
注册 2006-12-26 17:18
UID 74627
性别 男
状态 离线
如果用ping空ip的方法 ,是不是可以改变默认数据包大小为 1 字节可用呢?
17 发表于 2007-03-28 02:32 ·  IANA 局域网IP(Private-Use)
初级用户
★★
积分 186
发帖 92
注册 2007-03-27 08:20
UID 83047
性别 男
状态 离线
强烈的支持,顶!
18 发表于 2007-04-14 04:10 ·  中国 湖北 武汉 电信
中级用户
★★
scriptlover
积分 328
发帖 131
注册 2007-03-25 22:17
UID 82910
性别 男
状态 离线
我知道了延时的一大诀窍.谢谢高手啦!!!!
19 发表于 2007-04-17 01:07 ·  中国 上海 长宁区 电信
初级用户
积分 38
发帖 15
注册 2007-04-13 20:38
UID 85037
性别 男
状态 离线
不错
20 发表于 2007-04-17 02:13 ·  中国 上海 普陀区 电信
新手上路
积分 13
发帖 8
注册 2007-04-17 00:54
UID 85416
性别 男
状态 离线
谢谢了
21 发表于 2007-04-17 09:12 ·  中国 广东 广州 海珠区 电信
银牌会员
★★★
积分 1,206
发帖 517
注册 2007-03-25 01:18
UID 82819
性别 男
状态 离线
WSCRIPT.SLEEP 1000

这个东西有误差的。根据cpu的速率,误差在0.01-0.03秒之间。

这个是经过2000余次的延时500统计中得出的数据。。

假设输出计数用去了0.01秒。。

误差也在 0.02秒间。。
知,不觉多。不知,乃求知
22 good 发表于 2007-04-23 05:37 ·  中国 江苏 南通 电信
新手上路
积分 2
发帖 1
注册 2007-04-23 05:02
UID 86156
性别 男
状态 离线
good
23 发表于 2007-04-23 16:23 ·  中国 新疆 博尔塔拉蒙古自治州 电信
初级用户
积分 34
发帖 16
注册 2007-04-23 13:17
UID 86201
性别 男
状态 离线
顶 我第一次来DOS联盟 学了不少东西 呵呵 看到了很多高手 
希望高手门能多多 指教
24 谢谢了 发表于 2007-05-08 12:34 ·  中国 北京 海淀区 联通
新手上路
积分 2
发帖 1
注册 2007-05-08 11:58
UID 87843
性别 男
状态 离线
了解了不少
25 发表于 2007-05-08 14:00 ·  中国 山东 临沂 联通
新手上路
积分 17
发帖 10
注册 2007-05-08 11:01
UID 87836
性别 男
状态 离线
好东西啊,我下来试试
26 发表于 2007-05-10 13:59 ·  中国 陕西 西安 电信
新手上路
积分 5
发帖 4
注册 2007-05-10 13:52
UID 88075
性别 男
状态 离线
楼主正解
27 发表于 2007-05-13 01:34 ·  中国 浙江 宁波 电信
中级用户
★★
积分 363
发帖 162
注册 2007-04-22 21:31
UID 86104
性别 男
状态 离线
学习了。
28 发表于 2007-05-14 01:39 ·  中国 上海 闵行区 电信
新手上路
积分 4
发帖 2
注册 2007-05-14 00:55
UID 88447
性别 男
状态 离线
嗯,今天正好在写批处理,需要用一个延时的程序
是参考PPdos大侠的代码,自己写了一个,能够实现60秒以内的延时处理,嗯,这个误差。。应该说一秒以内吧

随便用用一般就够了

Call :BatchDelay 3
Goto Eof

:BatchDelay
Set /a delayLen=%1 %% 60
Set nowtime=%TIME:~6,-3%
Set /a delayEnd=%nowtime%+%delayLen%
Set /a delayEnd=%delayEnd% %% 60
:BatchDelay2
Echo %delayEnd% %TIME:~6,-3%
Set nowtime=%TIME:~6,-3%
If %delayEnd% NEQ %nowtime% Goto :BatchDelay2
Goto Eof

:Eof
29 发表于 2007-05-14 02:06 ·  中国 上海 闵行区 电信
新手上路
积分 4
发帖 2
注册 2007-05-14 00:55
UID 88447
性别 男
状态 离线
不好意思,刚才那一段有dos八进制自动转换问题,写的时候没有考虑到,现在修正了~

:BatchDelay
Set /a delayLen=%1 %% 60
Set nowtime=%TIME:~6,-3%
If %nowtime:~0,1% EQU 0 Set nowtime=%nowtime:~-1%
Set /a delayEnd=%nowtime%+%delayLen%
Set /a delayEnd=%delayEnd% %% 60
:BatchDelay2
Set nowtime=%TIME:~6,-3%
If %nowtime:~0,1% EQU 0 Set nowtime=%nowtime:~-1%
Echo %delayEnd% %nowtime%
If %delayEnd% NEQ %nowtime% Goto :BatchDelay2
Goto Eof
30 发表于 2007-06-05 20:11 ·  中国 广东 东莞 电信
新手上路
积分 10
发帖 3
注册 2007-06-04 13:12
UID 90226
性别 男
状态 离线
为什么用ping -n 40 127.1>nul 2>nul
在我的电脑上能实现,但用在不能上网的电脑上好像不起作用了?
论坛跳转: