如何在批处理脚本中等待?
可能重复:
睡在一个DOSbatch file
我正在尝试编写批处理脚本,并试图在2个函数调用之间等待10秒。 命令:
sleep 10
不要使batch file等待10秒钟。
我正在运行Windows XP。
注意:这不是一个batch fileSleeping的完整重复,因为另一个问题也是关于Python,而这是关于Windowsbatch file。
您可以ping一个确实不存在的地址,并指定所需的超时时间:
ping 192.0.2.2 -n 1 -w 10000 > nul
由于地址不存在,它将等待10,000毫秒(10秒)并返回。
-
-w 10000
部分以毫秒为单位指定所需的超时时间。 -
-n 1
部分告诉ping它应该只尝试一次 (通常它会尝试4次)。 -
> nul
部分被附加,所以ping命令不会输出任何东西到屏幕上。
您可以通过在PATH中的某处创build一个sleep.bat来轻松地创build一个睡眠命令,并使用上述技巧:
rem SLEEP.BAT - sleeps by the supplied number of seconds @ping 192.0.2.2 -n 1 -w %1000 > nul
注意: 192.0.2.x地址是按照RFC 3330保留的,所以在现实世界中绝对不会存在。 引用规范:
192.0.2.0/24 – 该块被指定为“TEST-NET”,用于文档和示例代码。 它通常与供应商和协议文档中的域名example.com或example.net一起使用。 此块内的地址不应出现在公共Internet上。
你最好ping 127.0.0.1 。 Windows ping之间暂停一秒钟,所以如果你想睡10秒,使用
ping -n 11 127.0.0.1 > nul
这样,您就不必担心意外的早期回报(比如,没有默认路由,并且123.45.67.89立即被认为是无法访问的)。
我实际上find正确的命令使用..其被称为超时: http : //www.ss64.com/nt/timeout.html
我用这个
:top cls type G:\empty.txt type I:\empty.txt timeout /T 500 goto top
关于什么:
@echo off set wait=%1 echo waiting %wait% s echo wscript.sleep %wait%000 > wait.vbs wscript.exe wait.vbs del wait.vbs
那么,你的Windows XP盒子里是否还存在sleep
? 根据这篇文章: http : //malektips.com/xp_dos_0002.html sleep
不是在Windows XP上可用,并且您必须下载Windows 2003资源工具包才能得到它。
恰克里特的回答给了你另一种停顿的方式。
尝试从命令提示符运行sleep 10
。