bat批處理延遲運行腳本(zz)

 


@echo off
:aaa
pause 這裏是你須要運行的程序
for /l %%i in (0,1,10000) do echo %%i>nul
goto aaawindows

固然bat延遲運行還有其餘的一些方法 不過我這個算很簡單了 你還可使用兩個for代替goto
for /l %%i in (0,1,10000) do echo %%i>nul 這裏>nul忽略輸出
若是程序是沒法自動回到cmd界面的那可能須要結束她的進程什麼的 天然利用bat調用其餘程序也能作到例如ntsd debug 等等 或者是vbs 不過那就顯不出bat的特性出來了服務器

ping延時仍是很精確的,呵呵。
@echo off
:aaa
echo %TIME%
ping 0.0.0.1 -n 1 -w 500>nul
goto aaa
I:\>delay
18:51:41.50
18:51:42.42
18:51:43.42
18:51:44.42
18:51:45.42
18:51:46.42
18:51:47.42
18:51:48.42
18:51:49.42
18:51:50.42
18:51:51.42
18:51:52.42
18:51:53.42
18:51:54.42
18:51:55.42
18:51:56.42
^C終止批處理操做嗎(Y/N)? y
Windows的ping.exe代碼中調用了Sleep(1000),天然是很準確的。
ping的IP最好用127.0.0.1,由於用其餘地址,第一次DNS解析會耗費一些時間,就不許確了。
收東西要收藏。我幫樓的各位大俠整理一下:
@echo off
@echo %time%
@set /a netu0=%1+1
@ping 127.0.0.1 -n %netu0% -w 500>nul 2>nul
@echo %time%
@echo on
============================================
爲了提升工做效率,或者爲了實現某種目的,咱們常常須要將一些程序加入到windows的「啓動」組中,也就是讓這些程序隨系統啓動而自動運行。有時,咱們但願這些自啓動程序能按必定的前後順序運行,對於服務器而言,可能有其中一個程序要依賴另外一程序才能運行,於是還須要在這二個程序啓動時有必定的時間延遲。
我發現,能夠巧妙利用DOS下的批處理命令,來輕鬆控制自啓動程序的運行前後順利,以及程序的延遲運行。舉例說明,假若有三個自啓動程序,要求在windows啓動時先運行C:\Patha\A.exe,等其執行完畢了再運行C:\Pathb\B.exe,至少延遲10秒後再運行C:\Pathc\C.exe,實現方法以下:
打開「記事本」,輸入如下代碼:
Start/w C:\Patha\A.exe
Start C:\Patha\B.exe
Ping 127.0.0.1 –n 10 >nul
Start C:\Patha\C.exe
將此文件保存爲一個bat文件,例如qidong.bat。雙擊運行這個批處理文件,就可即刻驗證各程序的啓動順序和延遲運行狀況。最後將此文件拖入windows的「啓動」組就OK了。固然,三個自啓動文件是靠批處理文件來調用的,因此就沒必要放入「啓動」組了。
對於上述批處理命令,做一下簡單的介紹:
Start命令用於啓動指定程序,其格式是:「start/參數 程序的完整路徑和文件名」,參數/w的做用是等待當前的程序執行完畢再執行下一個程序。注意:因爲批處理是在DOS下運行,相似「C:\ \Program files」這樣帶空格的文件夾名稱,應該換成「C:\Progra~1」,即取前6個字符再加上「~1」。
由於批處理中沒有延時的命令,因此用ping一個本地IP地址來間接實現延時,ping一次大概花費1秒鐘,雖然時間不是很精確,但可修改-n後面的數字進行調試,使時間儘可能接近,>nul的做用至關因而讓ping命令在後臺運行。
==============================================
一。利用計劃任務
例:
@echo off
mode con lines=25
title 定時關機
color 1f
cls
echo.
echo.
echo.
echo.
echo 時間使用24小時制(如2:1五、12:00),能夠輸入多個時間點
echo.
echo 多個時間點用空格分隔
echo.
echo.
echo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
echo.
set times=
set /p times= 請輸入關機時間:
:: 如下語句實現每一個星期的每一天指定時間關機
:: 若是要換成每月的某幾天,請改字母爲數字,並用逗號分隔
:: 如下代碼沒有錯誤檢測語句,輸入時間的時候務必按照指定格式輸入
:: 能夠用在CMD窗口用at命令來查看計劃任務
if not "%times%"=="" for %%i in (%times%) do (
at %%i /every:M,T,W,Th,F,S,Su shutdown -s
)
二。巧妙利用ping -n
例:
@ rem ---------- 設置延遲時間 ----------
@ set 延遲時間=15
@ ping 127.0.0.1 -n %延遲時間%
如下寫你要啓動的命令
三。利用for命令
例:
@echo off
echo 將於4月20日執行關機任務
:xunhuan
echo %date%>1.ini
for /f "tokens=2,3 delims=- " %%a in (1.ini) do set h=%%a & set m=%%b
del 1.ini
if %h%==04 goto fen
goto xunhuan
:fen
if %m%==05 goto nao
goto xunhuan
:nao
shutdown -s -t 60
exitdebug

相關文章
相關標籤/搜索