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种,你知道吗?

4 条评论 发表在“Windows命令行奇技淫巧之 Sleep”上

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

  2. 54powerman说道:

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

  3. 兔毛猫说道:

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

  4. Demon说道:

    在批处理中调用VBS显得不伦不类

留下回复