当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何在批处理脚本中等待?》经验,为你挑选了6个好方法。

我正在尝试编写一个批处理脚本,并尝试在两个函数调用之间等待10秒.命令:

sleep 10

不使批处理文件等待10秒.

我正在运行Windows XP.

注意:这不是在批处理文件中休眠的完全重复,因为另一个问题也是关于python,而这是关于Windows批处理文件.



1> chakrit..:

您可以ping一个肯定不存在的地址并指定所需的超时:

ping 192.0.2.2 -n 1 -w 10000 > nul

由于地址不存在,它将等待10,000毫秒(10秒)并返回.

-w 10000部件指定所需的超时(以毫秒为单位).

-n 1部分告诉ping它应该只尝试一次(通常它会尝试4次).

> nul部分附加这样的ping命令无法正常输出到屏幕上.

您可以通过在PATH中的某处创建sleep.bat并使用上述技术轻松地自己创建睡眠命令:

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上.


黑客-2天才+3
我添加了实际的功能,它叫做超时.. http://www.ss64.com/nt/timeout.html至少我知道其他人也不知道:)
不起作用,`ping`响应:`PING:传输失败.一般失败.可能是因为我在10.xxx范围内.
ping 127.0.0.1 -n 5 -w 1000> nul hat这样做,因为另一个会立即完成.

2> Gleb..:

你最好ping 127.0.0.1.Windows ping在ping之间暂停一秒钟,因此如果你想睡10秒钟,请使用

ping -n 11 127.0.0.1 > nul

这样您就不必担心意外的早期返回(例如,没有默认路由,并且立即知道123.45.67.89无法访问.)


我喜欢这个解决方案而不是标记为答案的解决方案,因为我们不需要确保我们的脚本具有不存在的IP地址.因此,我们可以编写一次脚本并在任何网络中的任何Windows系统上使用它,而无需再次编辑脚本.
或者使用localhost来避免仅限IPv6的计算机出现问题.
由于[RFC 3330](http://smakd.potaroo.net/ietf/idref/rfc3330/)已经过时,我正在使用此解决方案.

3> Thomaschaaf..:

我实际上找到了正确的命令..它叫做超时:http://www.ss64.com/nt/timeout.html


也不是Windows XP命令......
这可能不是2009年XP的正确答案,但它适用于Windows 7及更高版本!
既然WindowsXP即将推出,似乎这是将来实现这一目标的方式.
在2016年,这应该成为正确的答案.

4> 小智..:

我用过这个

:top
cls
type G:\empty.txt
type I:\empty.txt
timeout /T 500
goto top


`timeout`命令在Windows XP上不可用.它适用于Windows 2003和Windows 7.
秒?毫秒?分钟?它使用的单位是什么?

5> 小智..:

关于什么:

@echo off
set wait=%1
echo waiting %wait% s
echo wscript.sleep %wait%000 > wait.vbs
wscript.exe wait.vbs
del wait.vbs


即使对于<1000ms的延迟,这也是唯一准确的解决方案.

6> easel..:

嗯,sleep甚至存在于你的Windows XP盒子上?根据这篇文章:http ://malektips.com/xp_dos_0002.htmlsleep在Windows XP上不可用,您必须下载Windows 2003资源工具包才能获得它.

Chakrit的回答也为你提供了另一种停顿方式.

尝试sleep 10从命令提示符运行.

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有