我正在尝试编写一个批处理脚本,并尝试在两个函数调用之间等待10秒.命令:
sleep 10
不使批处理文件等待10秒.
我正在运行Windows XP.
注意:这不是在批处理文件中休眠的完全重复,因为另一个问题也是关于python,而这是关于Windows批处理文件.
您可以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上.
你最好ping 127.0.0.1.Windows ping在ping之间暂停一秒钟,因此如果你想睡10秒钟,请使用
ping -n 11 127.0.0.1 > nul
这样您就不必担心意外的早期返回(例如,没有默认路由,并且立即知道123.45.67.89无法访问.)
我实际上找到了正确的命令..它叫做超时: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
嗯,sleep
甚至存在于你的Windows XP盒子上?根据这篇文章:http ://malektips.com/xp_dos_0002.htmlsleep
在Windows XP上不可用,您必须下载Windows 2003资源工具包才能获得它.
Chakrit的回答也为你提供了另一种停顿方式.
尝试sleep 10
从命令提示符运行.