Windows命令行奇技淫巧之 Sleep

作者:半瓶墨水 链接:http://www.2maomao.com/blog/windows-tips-sleep-command/

写批处理(Batch)文件的时候,经常会需要在其中等上几秒钟,但是Windows 2000/xp/2003 都没有Sleep命令,怎么办呢?

以前我都是写个Sleep.exe,接受一个毫秒数做参数的,内部调用Sleep win32API。这种做法的坏处是:发布你的批处理文件给别人用的时候,你得把Sleep.exe和批处理文件放在一起。这让本来贴上一段代码就搞定的活,经常变成需要添个附件(sleep.exe)才能搞定。

今天发现其实很多人有这个困扰,还有一些奇技淫巧在其中:
比如这篇文章提到的方法:

@ping 127.0.0.1 -n 3 -w 1000 > nul

这样就可以不动声色的等待三秒了(不太精准,但是一般也够用了)

再比如这位才子提到的安装Windows Server 2003 Resource Kit Tools的方法,唔,这个比自己写一个sleep.exe强不了多少。

还有这位仁兄的方法:
写一个Sleep.vbs,然后调用它。
其实还可以使用WScript更进简略而且更进一步,直接就Sleep三秒:

@ECHO Wscript.Sleep(3000) > sleep.vbs
@START /w wscript.exe sleep.vbs
@DEL /Q sleep.vbs

孔乙己online睡眼惺忪的问:睡(sleep)姿有108种,你知道吗?

共 3 条评论

[…] Windows命令行奇技淫巧之 Sleep (tags: windows batch) […]

vbs延时不是这么干的,这样做比较容易控制:
Wscript.Sleep 1000 ‘演示1秒

@54powerman
要注意这是在批处理文件中用wscript,只能@echo到一个临时vbs文件中,然后调用,在删掉临时vbs文件

发表评论

  • :(
  • :)
  • :D
  • :X
  • :^
  • :d
  • :e
  • :h
  • :k
  • :l
  • :p
  • :q
  • :s
  • :v
  • :w
  • :x

注意:评论中需包含至少一个中文字,否则视为无效