
是否可以在 DOS 批次檔中插入定時暫停?
它的作用應該類似於暫停命令,但不必按任何鍵,它會在 X 秒內自行繼續。
答案1
當您不想安裝任何非庫存軟體時,我見過的醜陋但傳統的解決方案是使用 PING。例如:
@echo off
rem Sleep 5 seconds
ping -n 6 127.0.0.1>NUL
6 是必要的,因為第一個請求幾乎立即返回,計算大約「0」秒,因此您需要再發送 x + 1 個請求才能獲得所需的延遲。
答案2
假設您討論的不是 DOS 批次檔而是 Windows 批次檔:
> timeout /?
暫停[/T] 逾時 [/NOBREAK]
描述:
此實用程式接受超時參數以等待指定的時間段(以秒為單位)或直到按下任意鍵。它也接受一個參數來忽略按鍵。
參數表:
/T timeout Specifies the number of seconds to wait. Valid range is -1 to 99999 seconds. /NOBREAK Ignore key presses and wait specified time. /? Displays this help message.
註:A暫停值 -1 表示無限期地等待按鍵。
例子:
TIMEOUT /? TIMEOUT /T 10 TIMEOUT /T 300 /NOBREAK TIMEOUT /T -1
答案3
如果您指的是「批次」文件。沒有內建指令;但Win2003資源包中包含了一個功能相同的程式。更多資訊請點這裡:http://malektips.com/xp_dos_0002.html
答案4
或者,你可以這樣做:
@echo off
rem Sleep 5 seconds
CALL :TIMEOUT 5
ECHO Do other stuff here
GOTO :END
:TIMEOUT
ping -n %~1 -w 1 127.0.0.1>nul
EXIT /B 0
:END
pause