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