關於Windows下的批處理如何類比Sleep

來源:互聯網
上載者:User

好好的批處理,居然沒有正式的Sleep可供調用。有時候,確實感到很無趣。

1. 方法1:  

ping 1.1.1.1來類比

好不容易從stackoverflow上找到一個答案(稱之為答案,是因為它被人標註為answer),是這麼實現的:
ping 1.1.1.1 -n 1 -w 60000 > nul
這個表示,會sleep 60秒鐘。

果真如此嗎? 它要基於一個假設:1.1.1.1永遠不會被目標機器ping通。但我卻碰到了靈異事件,在某台測試機上,直接能ping通:

Pinging 1.1.1.1 with 32 bytes of data:
Reply from 1.1.1.1: bytes=32 time<1ms TTL=60
Reply from 1.1.1.1: bytes=32 time<1ms TTL=60
Reply from 1.1.1.1: bytes=32 time=6ms TTL=60
Reply from 1.1.1.1: bytes=32 time<1ms TTL=60


Ping statistics for 1.1.1.1:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 6ms, Average = 1ms

所以,這個方法是靠不住的。


2. 依然使用ping來類比,

請看下邊的bat:

@echo offecho "emulate sleep......"call :wait_ext1 60echo "60 seconds waited...."goto :eof:wait_ext1@ping 127.0.0.1 -n 2 -w 1000 > nul@ping 127.0.0.1 -n %1% -w 1000> nul

這個就表示要sleep大概60秒鐘。

當然,你也可以把wait_ext1那部分重新命名一個單獨的批處理進行調用。


3. 似乎2003還有一個resource kit包下載,裡邊就有sleep.exe

(為何不發布出來呢?)
http://malektips.com/xp_dos_0002.html


有時候真的是痛恨Windows下的批處理.


相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.