是否可以在批次檔中插入定時暫停?

是否可以在批次檔中插入定時暫停?

是否可以在 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

相關內容