中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-25 01:35
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 批处理延时命令——sleep(我的鸡肋收藏) 查看 42,586 回复 317
楼 主 批处理延时命令——sleep(我的鸡肋收藏) 发表于 2006-11-22 03:09 ·  中国 河北 廊坊 三河市 移动
金牌会员
★★★★
积分 2,725
发帖 1,160
注册 2006-09-23 12:00
19年会员
UID 63486
来自 河北廊坊
状态 离线
我初涉dos时,曾下大力气寻找sleep.exe,幸运的找到了。在网上看到过很多关于批处理延时的方法,本论坛里更是精华,但很少有人用sleep命令(非vbs),只好压在箱底。
近日看到有人推荐sleep.exe(是以毫秒为单位的),勾起了我的兴趣,厚着脸皮拿出我的鸡肋收藏,希望有人可以用的上。它是以秒为单位的,即:sleep 10 就表示延时10秒。
本帖最近评分记录 (共 8 条) 点击查看详情
评分人分数时间
redtek +1 2006-11-22 03:21
wanyu555 +2 2007-05-30 01:44
JasonMing +2 2007-08-02 00:23
tashaxin +2 2007-12-30 12:42
htxiang +1 2008-01-19 21:48
+1 2009-04-14 08:54
+1 2010-07-12 14:48
+1 2010-12-09 11:58
附件
sleep.rar (13.73 KiB, 下载附件所需积分 1 点, 下载次数: 3770)
三人行,必有吾师焉。 学然后知不足,教然后知困,然后能自强也。
2 发表于 2006-11-22 04:41 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
20年会员
UID 42173
性别 男
状态 离线
顶啊,原来这么多好东东都被私藏了

C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
3 发表于 2006-11-22 05:42 ·  中国 北京 朝阳区 联通
高级用户
★★
朦胧的世界
积分 579
发帖 218
注册 2006-10-24 04:29
19年会员
UID 67972
状态 离线
私藏果然不同凡响!

[ Last edited by tao0610 on 2006-11-22 at 06:18 AM ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
+1 2009-04-14 08:55

认识自己,降伏自己,改变自己
,才能改变别人!
4 发表于 2006-11-22 05:44 ·  中国 福建 福州 连江县 电信
中级用户
★★
积分 356
发帖 115
注册 2004-07-27 00:00
21年会员
UID 29114
性别 男
状态 离线
收下。谢过了!
5 发表于 2006-11-22 06:11 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
俺这个是毫秒级的,不知道能不能在纯DOS下使用,只有1k^_^

sleep 1000 一秒
本帖最近评分记录 (共 2 条) 点击查看详情
评分人分数时间
redtek +1 2006-11-23 06:31
haiou327 +8 2008-08-02 16:02
附件
sleep.rar (453 bytes, 下载附件所需积分 1 点, 下载次数: 618)
6 发表于 2006-11-22 07:16 ·  中国 北京 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
19年会员
UID 63324
性别 男
状态 离线
多谢楼主提供的小工具,收藏~:)
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
7 发表于 2006-11-22 09:35 ·  中国 广东 电信
初级用户
积分 52
发帖 24
注册 2006-11-16 06:50
19年会员
UID 70653
性别 男
状态 离线
收藏下!支持,我也要追上大家步伐
8 发表于 2006-11-22 10:20 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线

  呵呵,下载下来试了下,好象不支持中文代码页哦。同时也发现一个奇怪的现象。大家在命令行试试这个:

  echo %time% && ping 127.1 -n 10 >nul && echo %time%

或者

  echo %time% && sleep 10 && echo %time%

有没有发现怎么不对劲的?
  
  这并不在我们的意料之中,按理来说应该两次时间不一样,可是上面的命令却推翻了这个想象。费解。。。。
9 发表于 2006-11-22 11:07 ·  中国 福建 泉州 电信
银牌会员
★★★
积分 1,276
发帖 469
注册 2002-12-23 13:00
23年会员
UID 586
性别 男
来自 福建泉州
状态 离线
因为
echo %time% && ping 127.1 -n 10 >nul && echo %time%
执行前%time%已经被先转换成当前时间才执行的。
例子。

set a=1
echo %a%&&set a=2&&echo %a%

实际运行的是
echo 1&&set a=2&&echo 1
启动延缓环境变量扩展后就是你所想要的结果。

set a=1
echo %a%&&set a=2&&echo !a!
本帖最近评分记录 (共 3 条) 点击查看详情
评分人分数时间
redtek +3 2006-11-22 21:45
weapfe +1 2006-12-03 05:47
p1509101 +1 2008-04-03 16:55
QQ:366840202
http://chenall.net
10 发表于 2006-11-22 11:13 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
19年会员
UID 59080
状态 离线

  呵呵,多谢指定,貌似同一行命令里面,变量的值即时被扩展了。呵呵。

  做成两行就不会出现类似的问题了。
11 发表于 2006-11-22 13:23 ·  中国 北京 鹏博士BGP
新手上路
积分 9
发帖 4
注册 2006-10-29 14:58
19年会员
UID 68784
性别 男
状态 离线
顶一下子啊..
12 发表于 2006-11-23 05:47 ·  中国 江苏 苏州 电信
初级用户
积分 72
发帖 35
注册 2006-11-13 01:26
19年会员
UID 70380
性别 男
状态 离线
赞 楼主奉献!
收藏之,备用!
13 发表于 2006-11-24 05:39
中级用户
★★
DOS之日
积分 337
发帖 161
注册 2006-11-04 05:27
19年会员
UID 69523
性别 男
状态 离线
好东西,收藏.
for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
14 发表于 2006-11-24 06:11 ·  中国 广东 佛山 电信
初级用户
Q群:IT永恒国度367763 ...
积分 44
发帖 21
注册 2006-11-12 14:26
19年会员
UID 70341
性别 男
状态 离线
我一般用wait这个,用法:WAIT 10(单位秒)
Q群:IT永恒国度3677635 高明人上门维修电脑群28387927[维修软件总部]fsgm.ys168.com
15 发表于 2006-11-25 04:37
中级用户
★★
DOS之日
积分 337
发帖 161
注册 2006-11-04 05:27
19年会员
UID 69523
性别 男
状态 离线
发一个上WAIT来呀.
for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
论坛跳转: