Windows 2003 批处理文件睡眠/等待功能

Windows 2003 批处理文件睡眠/等待功能

可能重复:
如何在批处理文件中休眠?

我有一个批处理文件,它在 Windows Server 2003 中作为计划任务运行。

这个批处理文件纯粹是接连调用大约 20 个其他批处理文件。

当它运行时,它会导致服务器出现相当大的峰值并降低性能。

我希望能够在每个批处理文件调用之间添加 WAIT 或 SLEEP 类型的命令,以便稍微分散负载。

有人能解释一下最简单的方法吗?

答案1

您正在寻找的代码如下所示:

ping -n 11 127.0.0.1 > NUL

“-n”后面的值表示等待的秒数。
如果您想等待 10 秒,只需再添加一次 ping,
如示例中所示。

此致。

PS:如果您使用 powershell,可能还有其他方法可以做到这一点。

答案2

在批处理文件中休眠的正确方法是使用timeout命令,在 Windows 2000 Server 和 Windows XP 中引入。

等待 30 秒:

timeout /t 30

如果用户按下任意键,超时就会中断;但是,该命令还接受可选的开关/nobreak,它可以有效地忽略用户可能按下的任何内容,除了明确的CTRL-C

timeout /t 30 /nobreak

此外,如果您不想让命令在屏幕上打印其倒计时,您可以将其输出重定向到NUL

timeout /t 30 /nobreak > NUL

答案3

有一个名为 sleep.exe 的 W2K3 资源工具包实用程序,您可以在批处理文件中调用它并告诉它在继续执行下一个命令之前“睡眠”多长时间来使用它。

例子:

网络使用 X:\server\share /Delete

睡眠 300

网络使用 X:\server\share

答案4

最好的方法是使用“ping”,但您可以在这里找到更多方法:http://drbatcher.blogspot.com/2009/10/pauses-and-delays-in-batch-scripts.html

相关内容