亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > BAT > 正文

批處理 延時不完全總結

2020-07-26 20:26:47
字體:
來源:轉載
供稿:網友

1、利用ping命令實現延時,方法巧妙而且可以控制,但精度不高。
如:ping -n 3 127.0.0.1>nul大約可以停頓2秒
-n后的數字是發送包的數目,為暫停秒數加一。此法每秒有0.5%的偏差,時間精度為1秒。

@echo off @ping 127.0.0.1 -n 6 >nul start gdh.txt



2、用vbs腳本中的sleep實現,樣本代碼如下:
缺點:生成臨時文件
優點:時間精度為0.001秒,精度高

例子1、vbs cscript

復制代碼 代碼如下:

@echo off
echo Wscript.Sleep Wscript.Arguments(0) * 1000>Delay.vbs
Delay.vbs 2
del Delay.vbs
echo OK!

例子2、vbs start /wait

@echo off echo wscript.sleep 5000>sleep.vbs start /wait sleep.vbs start gdh.txt del /f /s /q sleep.vbs


---------------------------------------
以上程序代碼可以實現暫停2秒,2秒過后回顯OK!

3、利用“死”循環:設定一個時間差,如果當前時間與設定時間之差不大于設定之時間差,則不退出該循環,從而達到延時的目的。樣本代碼:
---------------------------------------------------

復制代碼 代碼如下:

@echo off
set /a Start=%time:~6,2%
:ProDelay
set /a Now=%time:~6,2%
set /a Diff=%Now%-%Start%
rem 以下這一句可以防止秒數從59跳到1時產生的錯誤。
if %Diff% lss 0 set /a Diff=%Diff%+60
if %Diff% leq 2 goto :ProDelay
echo ok!

---------------------------------------------
以上程序也可以實現延時2秒的目的。

4:choice
優點:時間精確,CPU占用低,是最佳選擇

@echo off choice /t 5 /d y /n >nul start gdh.txt

5:for+set+if,時間精度為0.01秒
缺點:CPU占用高,語句過長,不常用

@echo off setlocal enableextensions echo %time% call :ProcDelay 500 echo %time% start gdh.txt :ProcDelay delayMSec_ setlocal enableextensions for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set start_=%%h%%i%%j%%k :_procwaitloop for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set now_=%%h%%i%%j%%k set /a diff_=%now_%-%start_% if %diff_% LSS %1 goto _procwaitloop endlocal & goto :EOF


6、利用at命令。不過此方法與其說是延時,還不如說成定時的好。
5、

復制代碼 代碼如下:

@echo off & setlocal enableextensions
echo WScript.Sleep 1000 > %temp%./tmp$$$.vbs
set /a i = 5
:Timeout
if %i% == 0 goto Next
setlocal
set /a i = %i% - 1
cls
echo DOS倒計時程序:alike收集
echo ##################################
echo # #
echo # [%i%]秒后程序開始運行 #
echo # #
echo ##################################
cscript //nologo %temp%./tmp$$$.vbs
goto Timeout
goto End

:Next
cls & echo.
for %%f in (%temp%./tmp$$$.vbs*) do del %%f
start edit boot.ini
exit

下面是其它網友的補充:

【方案一】for+set+if,時間精度為0.01秒,適用平臺為WinNT/2K/XP/2003。

 利用for解析變量%time%并存為兩個時間點%start%和%now%,再利用set /a計算兩個時間點的時間差,最后用if判斷時間差是否達到設定的暫停時間。

復制代碼 代碼如下:

@echo off
setlocal enableextensions
echo %time%
call :ProcDelay 200
echo %time%
goto :EOF

:ProcDelay delayMSec_
setlocal enableextensions
for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set start_=%%h%%i%%j%%k
  :_procwaitloop
  for /f "tokens=1-4 delims=:. " %%h in ("%time%") do set now_=%%h%%i%%j%%k
  set /a diff_=%now_%-%start_%
if %diff_% LSS %1 goto _procwaitloop
endlocal & goto :EOF

【方案二】VBS腳本中的sleep函數,時間精度為0.001秒,使用平臺為 Win9x/WinNT系列。

 動態創建一個調用sleep()函數的VBS腳本,然后用Windows腳本宿主的命令行版本cscript調用它。

復制代碼 代碼如下:

@echo off & setlocal enableextensions enabledelayedexpansion
echo WScript.Sleep 2000 > %temp%/tmp$$$.vbs
echo %time%
cscript //nologo %temp%/tmp$$$.vbs
echo %time%
for %%f in (%temp%/tmp$$$.vbs) do if exist %%f del %%f
endlocal & goto :EOF

【方案三】ping的消息發送間隔,時間精度為1秒,使用平臺為 Win9x/WinNT系列。

 需要你的Windows系統中正常安裝了網卡的TCP/IP協議,有兩種方案,方案二不建議采用,見主題 [討論]批處理編程的異類 12、13樓:

(1) 利用ping兩次發送消息之間的間隔時間。ping在發送多個消息時,在得到上一次消息的回應后,它會再等待1秒的時間才發送下一次消息,而這個回應時間因機型、系統和網絡配置而不同,其中IP地址尤其關鍵,只有本地的回送地址 127.0.0.1 因為是立即回應所以才是相對恒定的,其他地址大多會產生顯著的差異。此種方法要等待更大的時間,是指定發送的消息數為等待的時間加一,因為第一個消息是不等待的,IP 地址必須是 127.0.0.1 。其等待2秒的程序如下:

復制代碼 代碼如下:

::根據植樹原則,n后的數字為暫停秒數加一
ping -n 3 127.0.0.1>nul

(2) 利用ping的最大等待時間。ping向0.0.0.1發送一次“網際消息控制協議 (ICMP)”回響請求消息,因為 0.0.0.1 是個無法響應 ping 請求的IP地址,所以默認情況下,ping會等待一定的最大響應時間――4秒后便停止等待,而-w可以改變這個每發送一次消息所等待的最大響應時間。而如果將 IP 地址改為立即響應的127.0.0.1或其他響應時間很短的IP ,那 -w 便失去了作用,因為每次發送等待時間都不會達到最大的響應時間,此時延時會縮短。此種方法要等待更大的時間,可以直接使用 -w 指定,但是需要減去一定的發送延時,這個延時需要自己事先測定一下,否則會有不到1秒的誤差;而且 IP 地址必須是不響應請求的地址。其等待2秒的程序如下:

復制代碼 代碼如下:

ping -n 2 -w 500 0.0.0.1>nul

【方案四】choice 的缺省選擇等待功能,時間精度為1秒,適用平臺為MS-DOS/Win9x/WinNT系列。

/t:y,2 將缺省選擇字符設置為y,等待時間是2秒,/n禁止[y,n]提示出現在命令行上,“rem|”的作用是禁止choice從鍵盤接受按鍵,從而暫停不會因為按下y或者其它鍵而被意外終止。

復制代碼 代碼如下:

rem|choice /t:y,2 /n >nul

【方案五】ASCII匯編代碼,延遲精度為 0.001秒,適用平臺為MS-DOS/Win9x/WinNT。

德國人Herbert Kleebauer給出了一個通用方案,通過ASCII匯編器間接產生一個sleep.exe程序來實現延遲,這個程序分為DOS和Win兩個模塊,分別調用DOS系統中斷服務和WindowsAPI。

復制代碼 代碼如下:

:: Sleep.bat - Sleep/Delay/Wait n seconds
:: Herbert Kleebauer(Germany) - 2005/05/29
:: Modified by Will Sort - 2005/06/02, 07-25
@echo off
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
echo wait %1 seconds:
sleep.exe %1000
del sleep.com
del sleep.exe

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美大片免费观看| 欧美高清videos高潮hd| 日韩av中文在线| 69av视频在线播放| 91午夜在线播放| 成人黄色av播放免费| 国产成人精品午夜| 国产精品黄视频| 裸体女人亚洲精品一区| 国产免费一区二区三区在线能观看| 91免费高清视频| 欧美在线视频观看免费网站| 日本电影亚洲天堂| 欧美第一黄网免费网站| 久久精品国产91精品亚洲| 亚洲网站在线观看| 国产精品久久久久久久久久久不卡| 成人免费福利视频| 色婷婷亚洲mv天堂mv在影片| 国产激情久久久| 国产日韩欧美在线看| 亚洲一区中文字幕在线观看| 日韩欧美aⅴ综合网站发布| 久久免费精品视频| 69影院欧美专区视频| 亚洲精品之草原avav久久| 91视频九色网站| 亚洲欧美中文日韩在线v日本| 国产亚洲精品高潮| 亚洲香蕉成视频在线观看| 日韩精品在线观| 亚洲丝袜在线视频| 亚洲视频电影图片偷拍一区| 8050国产精品久久久久久| 亚洲少妇激情视频| 91精品中文在线| 日韩精品在线观看一区| 日韩精品在线观看一区| 日韩成人激情影院| 中文字幕欧美国内| 久久综合伊人77777蜜臀| 欧美日韩亚洲高清| 亚洲成人av在线| 中文字幕亚洲精品| 亚洲国产日韩欧美综合久久| 亚洲国产高清自拍| 97在线看免费观看视频在线观看| 亚洲国产私拍精品国模在线观看| 日韩美女视频免费看| 亚洲人成在线播放| 欧美精品电影免费在线观看| 91最新国产视频| 欧美大人香蕉在线| 国产精品久久久久久久久久小说| 日韩欧美国产中文字幕| 成人一区二区电影| 亚洲一区中文字幕在线观看| 7m精品福利视频导航| 日韩一级黄色av| 日韩欧美在线视频日韩欧美在线视频| 夜夜躁日日躁狠狠久久88av| 国产成人精品久久二区二区| 国产精品精品久久久久久| 国产精品三级美女白浆呻吟| 久久久精品2019中文字幕神马| 亚洲jizzjizz日本少妇| 久久精品国产欧美亚洲人人爽| 一区二区三区久久精品| 欧美黄网免费在线观看| 国产精品高清在线观看| 欧美大人香蕉在线| 国产乱肥老妇国产一区二| 成人av在线天堂| 精品久久久在线观看| 成人在线视频网站| 久久精品国产成人精品| 日本久久久久久| 色噜噜狠狠色综合网图区| 国产精品亚洲片夜色在线| 久久亚洲精品一区二区| 欧美性生交xxxxx久久久| 成人在线播放av| xxxxxxxxx欧美| 国产亚洲在线播放| 欧美一级淫片videoshd| 久久精品在线视频| 成人信息集中地欧美| 日韩美女av在线免费观看| 青青在线视频一区二区三区| 日韩中文字幕不卡视频| 亚洲第一区在线| 亚洲成人激情在线| 91久久久久久国产精品| 夜夜躁日日躁狠狠久久88av| 国产欧美日韩专区发布| 久久天堂电影网| 欧美精品做受xxx性少妇| 久久精品久久久久电影| 亚洲视频自拍偷拍| 久久精品视频导航| 一本久久综合亚洲鲁鲁| 91精品美女在线| 亚洲视频在线免费观看| 国产精品福利在线| 欧美日韩加勒比精品一区| 国产视频精品免费播放| 久久久爽爽爽美女图片| 日韩免费观看av| 亚洲欧美中文日韩在线| 国产一区二区三区精品久久久| 中文字幕精品久久| 日韩精品电影网| 欧美乱人伦中文字幕在线| 亚洲免费视频一区二区| 精品无码久久久久久国产| 亚洲天堂网站在线观看视频| 日韩国产中文字幕| 久久亚洲成人精品| 久久天天躁狠狠躁夜夜爽蜜月| 久久福利视频导航| 日韩欧美国产免费播放| 欧美激情xxxxx| 成人福利网站在线观看11| 精品国产精品三级精品av网址| 国产精品久久久久久久久久久不卡| 久久天堂av综合合色| 亚洲在线视频福利| 久久久久国色av免费观看性色| 亚洲综合色激情五月| 国产精品v片在线观看不卡| 精品视频久久久久久| 欧美视频在线看| 日韩精品免费综合视频在线播放| 国内外成人免费激情在线视频网站| 一区二区三区在线播放欧美| 97色在线视频| 国产一区二区三区在线观看视频| 欧美专区中文字幕| 欧美另类在线观看| 国产精品999999| 日韩精品视频免费专区在线播放| 欧美日韩国产精品一区| 国内精品久久久久久久久| 2019中文字幕在线免费观看| 日韩在线小视频| 亚洲精品美女视频| 国产亚洲一区二区精品| 永久555www成人免费| 国语自产精品视频在线看抢先版图片| 国产精品av免费在线观看| 日韩av一区在线观看| 色综合久久久久久中文网| 91在线精品视频| 精品欧美aⅴ在线网站| 亚洲美女免费精品视频在线观看| 77777亚洲午夜久久多人| 欧美视频中文字幕在线| 成人信息集中地欧美| 91香蕉嫩草神马影院在线观看| 久久久久久网站| 日韩美女av在线免费观看| 日韩中文字幕网站| 日本在线精品视频| 国产精品第一第二|