Windows命令行bat批處理延遲sleep方法(批處理延時(shí))
Windows下批處理文件沒有像Linux一樣的Sleep函數(shù)進(jìn)行延時(shí)處理,這里有2種較為實(shí)用的方法實(shí)現(xiàn)延遲:
1、使用WScirpt的sleep功能,精度0.001秒
創(chuàng)建vbs延遲文件,然后在批處理文件中調(diào)用,使用WScript的 sleep函數(shù),實(shí)現(xiàn)sleep的效果。
實(shí)戰(zhàn):
1)創(chuàng)建文件sleep.vbs:
echo WScript.sleep 5000 > sleep.vbs
sleep.vbs 內(nèi)容如下:
WScript.sleep 5000。
2)在批處理文件中調(diào)用,創(chuàng)建示例文件test.bat,內(nèi)容如下:
sc stop OracleOraDb10g_home1TNSListener
Wscript sleep.vbs
sc start OracleOraDb10g_home1TNSListener
2、使用ping 的定時(shí)功能,精度1秒
實(shí)戰(zhàn):創(chuàng)建示例文件test2.bat,內(nèi)容如下:
sc stop OracleOraDb10g_home1TNSListener
ping -n 3 127.0.0.1>nul
sc start OracleOraDb10g_home1TNSListener
說明:3為ping包發(fā)送次數(shù),可作為延遲秒數(shù)進(jìn)行使用,需要延遲幾秒就設(shè)置幾。
>nul避免屏幕輸出,將輸出輸入到空設(shè)備,因?yàn)椴恍枰Y(jié)果,僅用到其定時(shí)功能。
以下是其他網(wǎng)友的補(bǔ)充:
好好的批處理,居然沒有正式的Sleep可供調(diào)用。有時(shí)候,確實(shí)感到很無趣。
1. 方法1:
ping 1.1.1.1來模擬
好不容易從stackoverflow上找到一個(gè)答案(稱之為答案,是因?yàn)樗蝗藰?biāo)注為answer),是這么實(shí)現(xiàn)的:
ping 1.1.1.1 -n 1 -w 60000 > nul
這個(gè)表示,會(huì)sleep 60秒鐘。
果真如此嗎? 它要基于一個(gè)假設(shè):1.1.1.1永遠(yuǎn)不會(huì)被目標(biāo)機(jī)器ping通。但我卻碰到了靈異事件,在某臺(tái)測(cè)試機(jī)上,直接能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
所以,這個(gè)方法是靠不住的。
2. 依然使用ping來模擬,
請(qǐng)看下邊的bat:
這個(gè)就表示要sleep大概60秒鐘。
當(dāng)然,你也可以把wait_ext1那部分重命名一個(gè)單獨(dú)的批處理進(jìn)行調(diào)用。
3. 似乎2003還有一個(gè)resource kit包下載,里邊就有sleep.exe
(為何不發(fā)布出來呢?)
下載地址://www.jb51.net/softs/2466.html
有時(shí)候真的是痛恨Windows下的批處理.
3、還有兩種方法實(shí)現(xiàn)Sleep功能
一種是通過連續(xù)讀取系統(tǒng)時(shí)間,進(jìn)行比較,達(dá)到一定值時(shí)退出實(shí)現(xiàn)睡眠功能,但該操作應(yīng)耗用CPU較大,不推薦。
另一種是德國(guó)一位哥們的做法,直接用debug方法生成一個(gè)定時(shí)器程序,該方法可能破壞系統(tǒng)的穩(wěn)定性,或容易植入病毒(使用他人代碼),亦不推薦使用。
echo q | debug>nul echo Bj@jzh`0X-`/PPPPPPa(DE(DM(DO(Dh(Ls(Lu(LX(LeZRR]EEEUYRX2Dx=>sleep.com echo 0DxFP,0Xx.t0P,=XtGsB4o@$?PIyU WwX0GwUY Wv;ovBX2Gv0ExGIuht6>>sleep.com echo T}{z~~@GwkBG@OEKcUt`~}@MqqBsy?seHB~_Phxr?@zAB`LrPEyoDt@Cj?>>sleep.com echo pky_jN@QEKpEt@ij?jySjN@REKpEt@jj?jyGjN@SEKkjtlGuNw?p@pjirz>>sleep.com echo LFvAURQ?OYLTQ@@?~QCoOL~RDU@?aU?@{QOq?@}IKuNWpe~FpeQFwH?Vkk>>sleep.com echo _GSqoCvH{OjeOSeIQRmA@KnEFB?p??mcjNne~B?M??QhetLBgBPHexh@e=>>sleep.com echo EsOgwTLbLK?sFU`?LDOD@@K@xO?SUudA?_FKJ@N?KD@?UA??O}HCQOQ??R>>sleep.com echo _OQOL?CLA?CEU?_FU?UAQ?UBD?LOC?ORO?UOL?UOD?OOI?UgL?LOR@YUO?>>sleep.com echo dsmSQswDOR[BQAQ?LUA?_L_oUNUScLOOuLOODUO?UOE@OwH?UOQ?DJTSDM>>sleep.com echo QTqrK@kcmSULkPcLOOuLOOFUO?hwDTqOsTdbnTQrrDsdFTlnBTm`lThKcT>>sleep.com echo @dmTkRQSoddTT~?K?OCOQp?o??Gds?wOw?PGAtaCHQvNntQv_w?A?it\EH>>sleep.com echo {zpQpKGk?Jbs?FqokOH{T?jPvP@IQBDFAN?OHROL?Kj??pd~aN?OHROd?G>>sleep.com echo Q??PGT~B??OC~?ipO?T?~U?p~cUo0x>>sleep.com sleep.com>sleep.exe del sleep.com
以上代碼要使用批處理方式.使用 sleep.exe 10000 時(shí)間單位是毫秒
4、從我們下載sleep.exe文件
//www.jb51.net/softs/2466.html
欄 目:DOS/BAT
下一篇:bat、vbs、js 原生混編(一個(gè)bat可以執(zhí)行vbs,js代碼)
本文標(biāo)題:Windows命令行bat批處理延遲sleep方法(批處理延時(shí))
本文地址:http://mengdiqiu.com.cn/a1/DOS_BAT/10079.html
您可能感興趣的文章
- 01-10后臺(tái)運(yùn)行bat定時(shí)器程序示例分享
- 01-10windows使用批處理發(fā)布web到tomcat并啟動(dòng)tomcat腳本分享
- 01-10用批處理一鍵安裝兩種擴(kuò)展名的Windows系統(tǒng)補(bǔ)丁
- 01-10Windows設(shè)置開機(jī)自啟動(dòng)bat腳本
- 01-10dos命令行不能輸入中文怎么辦該如何解決
- 01-10Windows下寫一個(gè)文件備份腳本(專用備份的)
- 01-10windows常用網(wǎng)絡(luò)命令使用腳本分享
- 01-10windows系統(tǒng)配制wget計(jì)劃任務(wù)腳本
- 01-10bat+xcopy實(shí)現(xiàn)只復(fù)制比目標(biāo)文件更新的文件
- 01-10bat腳本實(shí)例實(shí)現(xiàn)只允許運(yùn)行一個(gè)實(shí)例(安裝程序、創(chuàng)建快捷方式腳


閱讀排行
- 1C語言 while語句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹的示例代碼(圣誕
- 3利用C語言實(shí)現(xiàn)“百馬百擔(dān)”問題方法
- 4C語言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10DOS下查看硬盤分區(qū)該使用什么命令
- 01-10使用批處理實(shí)現(xiàn)軟件的自動(dòng)安裝以安
- 01-10后臺(tái)運(yùn)行bat定時(shí)器程序示例分享
- 01-10通過批處理修改DNS的代碼(推薦)
- 01-10dota2服務(wù)器ping測(cè)試腳本分享
- 01-10再談DOS批處理下格式化日期字符串的
- 01-10windows使用批處理發(fā)布web到tomcat并啟動(dòng)
- 01-10win7怎么設(shè)定關(guān)閉顯示器時(shí)間
- 01-10屏蔽up鍵禁止游戲運(yùn)行腳本分享
- 01-10win7創(chuàng)建wifi熱點(diǎn)腳本分享
隨機(jī)閱讀
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-10delphi制作wav文件的方法
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 04-02jquery與jsp,用jquery
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10C#中split用法實(shí)例總結(jié)