Ⅰ bat腳本運行延時
@echo off
:start
start "" yanggu.txt
ping -n 24 127.1>nul
rem 即ping本機,並把結果顯示屏蔽掉,-n 24 為次數,每兩次間會停頓一秒,故24次即23秒,會略有誤差
goto start
Ⅱ bat腳本延遲命令
廷時固定的時間就可以,但要等一個程序關閉後再繼續執行,那就不是廷時的概令了,而是條件語句了,批處理沒這樣的命令,但也可以用其它辦法實現這功能,但比較復雜..
如果要固定時間可以用:ping /n 5 127.0>nul 當中的"5"是廷時的數值,可以設大設小,看你自己的需要
Ⅲ bat如何延時執行指定命令
首先bat延遲指的是就是執行一條命令後延遲一段時間再進行下一條命令。在cmd下或批處理中,常使用以下四種方法進行時間延遲:
1、利用ping命令延時。段岩派
示例1:
@echooff
echo延時前:%time%
ping/n3127.0.0.1>nul
echo延時後:%time%
pause
2、利用for命令延時。
示例2:
@echooff
echo延時前:%time%
for/l%%iin(1,1,5000)doecho%%i>nul
echo延時後:%time%
pause
3、利用vbs延遲函數,精確度毫秒,誤差1000毫秒內。
示例3:
@echooff
echo%time%
call:delay5000
echo%time%
pause
exit
:delay
echoWScript.Sleep%1>delay.vbs
CScript//Bdelay.vbs
deldelay.vbs
goto:eof
4、僅用批處理命令實現任意時間延遲,精確度10毫秒,誤差50毫秒內僅用批處理命令就可以實現延遲操作。
示例4:
@echooff
set/pdelay=請棗孝輸入需延遲的毫秒數:
setTotalTime=0
setNowTime=%time%
::讀取握賀起始時間,時間格式為:13:01:05.95
echo程序開始時間:%NowTime%
:delay_continue
set/aminute1=1%NowTime:~3,2%-100
::讀取起始時間的分鍾數
set/asecond1=1%NowTime:~-5,2%%NowTime:~-2%0-100000
::將起始時間的秒數轉為毫秒
setNowTime=%time%
set/aminute2=1%NowTime:~3,2%-100
::讀取現在時間的分鍾數
set/asecond2=1%NowTime:~-5,2%%NowTime:~-2%0-100000
::將現在時間的秒數轉為毫秒
set/aTotalTime+=(%minute2%-%minute1%+60)%%60*60000+%second2%-%second1%
if%TotalTime%lss%delay%gotodelay_continue
echo程序結束時間:%time%
echo設定延遲時間:%delay%毫秒
echo實際延遲時間:%TotalTime%毫秒
pause
希望以上幾種方法能讓你圓滿的解決問題!
Ⅳ 我想用BAT編寫一個延時啟動程序
BAT裡面實現延時好像也要用VBS腳本才比較方便
先看下面一段(文件a.bat):
start
E:\abc.exe
echo
Wscript.sleep
100
>y.vbs
call
y.vbs
&del
y.vbs
start
E:\123.exe
這一段的作用是:
先啟動abc.exe,然後等待100毫秒,即0.1秒,之後再啟動123.exe
這里y.vbs的作用其實相當於休敏絕眠器,當時間超過所定時間時,再喚醒繼續執行下面語句。
所以,如果你想要啟動系統後延時啟動軟體,可以用上面的方法來寫,例如啟動後2分鍾再啟動E盤根目錄的程序abc.exe:
(文件b.bat)
echo
Wscript.sleep
120000
>y.vbs
call
y.vbs
&del
y.vbs
start
E:\abc
(再設定b.bat系統啟動時載入。不過這樣啟動有CMD窗口出來。有個啟動載入文沖拿讓件Autoexec.bat,如果把這段命令加到那裡面就沒這個問題。)
至於能不能用更直接的方法我倒不太清楚,對這方面沒散局啥研究。對VBS腳本也不太了解,只是寫BAT文件的時候知道一點點。希望能有幫助