如何在批处理脚本中等待?

可能重复:

睡在一个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