可能重复:
如何在批处理文件中休眠?
我有一个批处理文件,它在 windows server 2003 中作为计划任务运行。
这个批处理文件一个接一个地纯粹调用大约 20 个其他批处理文件。
当它运行时,它会导致服务器上的峰值和性能下降。
我希望能够在我的每个批处理文件调用之间添加一个 WAIT 或 SLEEP 类型的命令,以便分散负载。
任何人都可以阐明最简单的方法吗?
可能重复:
如何在批处理文件中休眠?
我有一个批处理文件,它在 windows server 2003 中作为计划任务运行。
这个批处理文件一个接一个地纯粹调用大约 20 个其他批处理文件。
当它运行时,它会导致服务器上的峰值和性能下降。
我希望能够在我的每个批处理文件调用之间添加一个 WAIT 或 SLEEP 类型的命令,以便分散负载。
任何人都可以阐明最简单的方法吗?
在批处理文件中休眠的正确方法是使用
timeout
在 Windows 2000 Server 和 Windows XP 中引入的命令。等待 30 秒:
如果用户按下任何键,超时将被中断;但是,该命令也接受可选的 switch
/nobreak
,它有效地忽略用户可能按下的任何内容,除了显式CTRL-C
:此外,如果您不希望命令在屏幕上打印其倒计时,您可以将其输出重定向到
NUL
:有一个名为 sleep.exe 的 W2K3 资源工具包实用程序,您可以通过在批处理文件中调用它并告诉它在继续执行下一个命令之前“休眠”多长时间来使用它。
例子:
网络使用 X:\server\share /Delete
睡眠 300
网络使用 X:\server\share
最好的方法是使用“ping”,但您可以在这里找到更多方法:http: //drbatcher.blogspot.com/2009/10/pauses-and-delays-in-batch-scripts.html
您正在查找的代码如下所示:
ping -n 11 127.0.0.1 > NUL
“-n”后面的值表示要等待的秒数。
如果您想等待 10 秒,只需再添加一个 ping,
如示例中所示。
此致。
PS:如果你使用powershell,可能还有其他方法可以做到这一点。