国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > BAT > 正文

Windows命令行bat批處理延遲sleep方法(批處理延時)

2020-06-09 14:26:55
字體:
來源:轉載
供稿:網友

Windows下批處理文件沒有像Linux一樣的Sleep函數進行延時處理,這里有2種較為實用的方法實現延遲:

1、使用WScirpt的sleep功能,精度0.001秒

創建vbs延遲文件,然后在批處理文件中調用,使用WScript的 sleep函數,實現sleep的效果。

實戰:

1)創建文件sleep.vbs:

echo WScript.sleep 5000 > sleep.vbs

sleep.vbs 內容如下:

WScript.sleep 5000。

2)在批處理文件中調用,創建示例文件test.bat,內容如下:

復制代碼 代碼如下:

sc stop OracleOraDb10g_home1TNSListener
Wscript sleep.vbs
sc start OracleOraDb10g_home1TNSListener

2、使用ping 的定時功能,精度1秒

實戰:創建示例文件test2.bat,內容如下:

復制代碼 代碼如下:

sc stop OracleOraDb10g_home1TNSListener
ping -n 3 127.0.0.1>nul
sc start OracleOraDb10g_home1TNSListener

說明:3為ping包發送次數,可作為延遲秒數進行使用,需要延遲幾秒就設置幾。

>nul避免屏幕輸出,將輸出輸入到空設備,因為不需要結果,僅用到其定時功能。

以下是其他網友的補充:

好好的批處理,居然沒有正式的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:

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

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

3. 似乎2003還有一個resource kit包下載,里邊就有sleep.exe
(為何不發布出來呢?)

下載地址://www.jb51.net/softs/2466.html

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

3、還有兩種方法實現Sleep功能

一種是通過連續讀取系統時間,進行比較,達到一定值時退出實現睡眠功能,但該操作應耗用CPU較大,不推薦。

另一種是德國一位哥們的做法,直接用debug方法生成一個定時器程序,該方法可能破壞系統的穩定性,或容易植入病毒(使用他人代碼),亦不推薦使用。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 确山县| 故城县| 体育| 加查县| 弥勒县| 高陵县| 南宁市| 长阳| 元朗区| 德兴市| 安顺市| 晋中市| 丰城市| 平远县| 周口市| 华阴市| 宝鸡市| 茶陵县| 万州区| 团风县| 丰顺县| 卓尼县| 海丰县| 成安县| 巫溪县| 甘德县| 休宁县| 吉木乃县| 平塘县| 交口县| 襄垣县| 阳新县| 石景山区| 大余县| 团风县| 陵川县| 潜江市| 平昌县| 华容县| 府谷县| 平陆县|