windows批处理中的睡眠(sleep)

在写批处理的时候我们有时需要让脚本暂停一段时间,然后接着做事。

在我们的c/c++编程中我们可以,

sleep()

但是windows的批处理中并没有提供这样的功能,那要怎么做呢?

其实方法还是有的,比如执行一个对我们没有什么意义的命令,如ping,目的地址填上一个无效的ip如 0.0.0.0

所以下面的命令就是能够睡眠一段时间

ping 0.0.0.0  -n 3

睡眠的时间长短就是通过-n后面的参数,这个数字越大,睡眠的时间就越长(本来这个这个参数是用来控制尝试ping的次数)

这时候我们上面的命令放入一个批处理中,执行,发现达到我们要的睡眠的效果,可以有ping的输出,可能这个ping的输出我们不需要,也不想看到,不然有人使用你的脚本就觉得很奇怪了,怎么在ping 0.0.0.0。也许你会说使用

echo off

你可以试一下,这个肯定不可以的,因为echo off只是不要输出你执行的命令而已(在命令前面加@能达到同样的效果),比如

echo off

ping 0.0.0.0  -n 3

echo on

这样的话,ping  0.0.0.0这个命令不会输出了,但是ping的结果同样会输出,是不是就没有办法了?有,使用重定向,就是把ping的结果重定向到文件,

echo off

ping 0.0.0.0  -n 3 > null

echo on

这样就不会有输出了。

版权所有,禁止转载. 如需转载,请先征得博主的同意,并且表明文章出处,否则按侵权处理.

    分享到:

One Reply to “windows批处理中的睡眠(sleep)”

留言

你的邮箱是保密的 必填的信息用*表示