是否可以在批处理文件中插入定时暂停?

是否可以在批处理文件中插入定时暂停?

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

注意:暂停值 −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

相关内容