批處理延時方法

2021-05-25 08:28:28 字數 3222 閱讀 6375

**:

舉個例子,我們要延時5秒開啟gdh.txt這個檔案,可以用以下幾個方法

@ping 127.0.0.1 -n 6 >nul

start gdh.txt

方法二:vbs start /wait

del /f /s /q sleep.vbs

del /f /s /q sleep.vbs

choice /t 5 /d y /n >nul

start gdh.txt

批處理延時方法小結:

誤差評定: 較高

優點:       **構造簡單

缺點:       記憶體占用高,延遲時間長的話誤差相對較大。

@echo off

:loop

echo %time%

ping 1 -n 1 -w 1000 2>nul 1>nul

echo %time%

goto loop

記憶體使用: cmd.exe 1700k

ping.exe 2912k

誤差評定: 一般

優點:        **構造簡單,時間越長誤差越小,精確度較高(50ms)

缺點:        記憶體占用高

@echo off

:loop

echo %time%

call :delay 1000

echo %time%

goto loop

:delay

set /a num=num + 1

if %num% geq %1 (set num=) && goto :eof

rem    for /l %%i in (1,1,%1) do echo. >nul

goto :eof

記憶體使用: cmd.exe 1744k [for語句方案]

cmd.exe 1740k [set+goto方案]

誤差評定: 很高 (受cpu頻率影響非常大,幾乎無法準確把握全域性延遲時間)

優點:       精確度較高

缺點:        不適合需精確把握時間的場合

@echo off

:loop

echo %time%

msg %username% /time:20 /w "正在延時,點確定可以取消延時!"

echo %time%

goto loop記憶體使用: cmd.exe 1752k

msg.exe 2620k

誤差評定: 低

優點:       比較穩定,可中途取消延時,**構造簡單

缺點:        記憶體占用非常大,有視窗彈出(優點?缺點?)

@echo off

echo wscript.sleep wscript.arguments(0) >%tmp%/delay.vbs

:loop

echo %time%

cscript //b //nologo %tmp%/delay.vbs 2000

echo %time%

goto loop

記憶體使用: cscript.exe 4812k

cmd.exe    1708k

誤差評定: 很低

優點:        精確度最高,使用更靈活,方便

缺點:        產生臨時檔案,記憶體占用多

乙個取代choice命令的批處理 (精典)

@echo off && setlocal && cls

:tou

chcp 437 >nul

graftabl 936 >nul

set /p=請選擇 [ 回車鍵 --- 執行a             其它鍵 --- 執行b ]:nul

echo.&echo.&echo.

if [%errorlevel%]==[13] ( goto :a ) else ( goto :b )

:a::按回車符到這裡執行

echo 這裡是標籤: a

echo.

goto :end

:b::按其它鍵到這裡執行

echo 這裡是標籤: b

echo.

goto :end

:end

::     用於測試鍵值的**段

::     如果希望代替choice外部命令,則這個**段可以測試出不同的鍵值交由%errorlevel%判斷

echo 所輸入的ascii碼鍵值: %errorlevel%

echo.&echo.&echo.&echo.&echo.&pause

clsgoto tou

exit

實時顯示當前時間

ping -n 2 127.1>nul&cls&%0

::第二行**說明:「:」和「~」必不可少!「~」後的數字:為正數表示捨棄輸出結果的前幾位;直接跟負數表示取到輸出結果的後第幾位。逗號後的數字: 為正數表示取到輸出結果的前第幾位;為負數表示捨棄輸出結果的後幾位。echo %date:~4% echo %time:~-3% echo %date:~4% %time:~0,-3%

echo %str:~0,-1%

逐字顯示

@echo off&color 0a&title 做語文老師真不容易

set /p= nul

逐字顯示:我是乙個中國人

@echo off

for %%a in (我 是 一 個 中 國 人) do ping -n 2 127.0|set /p b=%%a

for /d %%a in (我 是 一 個 中 國 人) do set /p b=%%anul

::自注set後面的%%a如果新增空格,效果是:我 是 一 個,不加空格,效果是:我是乙個

@echo off&setlocal enabledelayedexpansion

set "str="

for /l %%a in (0 1 50) do (

if "!str:~%%a,1!" neq "" (

set/p=!str:~%%a,1!nul

) else (

pause>nul&exit/b))

schtasks /create /sc daily /ru administrator /rp hzf /tn hu /sd 2008/11/21 /st 21:30:00 /tr c:/windows/system32/notepad.exe

cmd bat批處理命令延時方法

批處理延時啟動的幾個方法 方法一 ping 缺點 時間精度為1秒,不夠精確 vb view plain copy echo off ping 127.0.0.1 n 6 nul start gdh.txt 方法二 vbs start wait 缺點 生成臨時檔案 有點 時間精度為0.001秒,精度高...

cmd bat批處理命令延時方法

批處理延時啟動的幾個方法 方法一 ping 缺點 時間精度為1秒,不夠精確 echo off ping 127.0.0.1 n 6 nul start gdh.txt 方法二 vbs start wait 缺點 生成臨時檔案 有點 時間精度為0.001秒,精度高 echo off echo wscr...

cmd bat批處理命令延時方法

缺點 時間精度為1秒,不夠精確 echo off ping 127.0.0.1 n 6 nul start gdh.txt缺點 生成臨時檔案 有點 時間精度為0.001秒,精度高 echo off echo wscript.sleep 5000 sleep vbs start wait sleep ...