㈠ windows延遲啟動程序批處理
BAT 實現延時不好 建議用VBS
比如
這個為開機延遲撥號上網的命令,適合開機比較卡的用戶.比如裝了卡巴斯基的.
set hipon=CreateObject("Wscript.Shell")
Wscript.sleep 7500
hipon.run "rasdial adsl 上網賬號 上網密碼"
前提你的寬頻連接名字為 adsl
7500為毫秒(7.5秒) 可以自己定義
建立文本文檔 輸入以上內容 保存為autoadsl.vbs 存在 開始 程序 啟動裡面
hipon.run "程序地址 程序名稱 參數"
其他
1、利用「死」循環:設定一個時間差,如果當前時間與設定時間之差不大於設定之時間差,則不退出該循環,從而達到延時的目的
@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、利用ping命令實現延時,方法巧妙而且可以控制,但精度不高。
如:ping -n 3 127.0.0.1>nul大約可以停頓2秒
-n後的數字是發送包的數目,為暫停秒數加一。此法每秒有0.5%的偏差,時間精度為1秒。
㈡ dos下執行bat文件,如何讓兩個命令之間自動延遲3秒後再繼續執行
使用命令ping127.0.0.1-n 3 >nul即可暫停cmd命令,3S過後cmd將繼續執行。
一般是n後的數字減去1,就是大約的秒數:
下面每條命令之間延遲3秒:
@echo off
echo 11111111
ping -n 6 127.1 >nul
echo 22222222
ping -n 6 127.1 >nul
echo 33333333
pause
注意事項
1、nul的作用是:不顯示執行結果的提示信息。
>pause 執行後顯示:請按任意鍵繼續...
>pause >nul 執行後,將不會顯示任何文字
>dir >1.txt 將不會顯示dir文件列表結果,把dir的文件列表輸出到文件1.txt
2、nul的作用是:命令執行後不顯示錯誤信息
>del 1.txt 執行後顯示 「找不到 F:1.txt」提示
>del 1.txt 2>nul 執行後沒有任何提示
3、nul的作用是:回車但不換行
㈢ bat如何延時執行指定命令
首先bat延遲指的是就是執行一條命令後延遲一段時間再進行下一條命令。在cmd 下或批處理中,常使用以下四種方法進行時間延遲:
1、利用ping命令延時。
示例1:
@echo off
echo 延時前:%time%
ping /n 3 127.0.0.1 >nul
echo 延時後:%time%
pause
2、利用for命令延時。
示例2:
@echo off
echo 延時前:%time%
for /l %%i in (1,1,5000) do echo %%i>nul
echo 延時後:%time%
pause
3、利用vbs延遲函數,精確度毫秒,誤差1000毫秒內。
示例3:
@echo off
echo %time%
call :delay 5000
echo %time%
pause
exit
:delay
echo WScript.Sleep %1>delay.vbs
CScript //B delay.vbs
del delay.vbs
goto :eof
4、僅用批處理命令實現任意時間延遲,精確度10毫秒,誤差50毫秒內僅用批處理命令就可以實現延遲操作。
示例4:
@echo off
set /p delay=請輸入需延遲的毫秒數:
set TotalTime=0
set NowTime=%time%
::讀取起始時間,時間格式為:13:01:05.95
echo 程序開始時間:%NowTime%
:delay_continue
set /a minute1=1%NowTime:~3,2%-100
::讀取起始時間的分鍾數
set /a second1=1%NowTime:~-5,2%%NowTime:~-2%0-100000
::將起始時間的秒數轉為毫秒
set NowTime=%time%
set /a minute2=1%NowTime:~3,2%-100
:: 讀取現在時間的分鍾數
set /a second2=1%NowTime:~-5,2%%NowTime:~-2%0-100000
::將現在時間的秒數轉為毫秒
set /a TotalTime+=(%minute2%-%minute1%+60)%%60*60000+%second2%-%second1%
if %TotalTime% lss %delay% goto delay_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文件的時候知道一點點。希望能有幫助
㈤ 在批處理(BAT)中怎麼設置命令延時
你也可以下一個windows環境下得技術器
比如wait.exe
放到%windir%下
然後在批處理裡面調用它就成了
很簡單
比如你要等1分鍾後繼續後面得:
...
wait
60
...
...
這樣就成了
㈥ 請問bat如何延時執行指定命令
@echo off
rem 說明:Ping -n 這里的3可以改大,改得越大時間越長,按你自己需要改吧。
rem 延遲3秒
ping -n 3 127.0.0.1
echo 啟動輸入文字
...
㈦ bat延時命令怎麼用
這個n後面的1000的單位是秒,你自己算算,1000秒是多少分鍾?要是想1分鍾之後運行,把1000改成60就可以了。
㈧ bat如何延遲0.1秒
基本上bat用於如此精確的延遲是無意義的,它的命令是逐條解釋執行而不是整體編譯後執行,即使調用專門寫的延時程序,去調用也是需要時間的也受調用時系統狀態影響會有差異,cmd的命令中所謂能延時也就是安排作無用功命令,但精度達不到,事實上有人研究各種命令執行效率,尤其是對需很多次循環運行的命令意義很大。利用多次執行某命令通過之前顯示時間和之後顯示時間,而時間顯示的精度也就是0.01秒,計算每次平均耗時能認為達到所說的0.005秒更高精度級別,那是多次平均值,只能對累積值有意義,具體到一次用來延時,精度仍是達不到的