是否可以在批处理文件中发出等待命令?
我有一个运行多个 .cmd 文件的批处理文件。我想知道是否可以让它在运行最后一个之前等待 60 秒左右。
谢谢
I have a batch file that runs several .cmd files. I would like to know if it is possible to have it wait 60 seconds or so before running the last one.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
您可以使用
超时[秒]
,即超时60
you can use
timeout [seconds]
i.e.timeout 60
另一个“解决方法”是使用在各种 windows/dos OS-es 上得到更好支持的
choice
命令:将导致 10 秒的暂停,同时屏幕上看不到任何内容。
Another "workaround" is by using the
choice
command which is better supported on the various windows/dos OS-es:will cause a pause of 10 seconds while nothing will be seen on the screen.
使用“睡眠”命令。您需要下载它(Windows资源包的一部分)
有关睡眠的更多信息
use the "Sleep" command. You need to download it (part of the Windows resource kits)
More information here on sleep
PING 127.0.0.1 -n 61
这个的作用是 ping 计算机本身,它总是会立即回复,并且 ping 之间的时间是 1 秒,第一个 ping 是立即的,所以只需添加多少您想要的秒数 + 1 作为要发送的 ping 数量。在这种情况下,它将等待 60 秒。
PING 127.0.0.1 -n 61
What this does is ping the computer itself, it will always reply instantly, and the time between pings is 1 second, and the first ping goes instantly, so just add how many seconds you want + 1 as the number of pings to send. In this case, it will wait 60 seconds.
您可以使用 超时
或 从 Windows Server 2003 资源工具包工具
You can use Timeout
or Sleep from the Windows Server 2003 Resource Kit Tools
如果您更喜欢纯 cmd 脚本,请使用以下代码段。
首先,此代码片段返回当前时间(以百分之几秒为单位)。
然后您可以使用它来构建这样的等待循环。
最后,将所有部分放在一起,您就得到了这个使用示例。
有关此处使用的命令的更详细说明,请检查
HELP SET
和HELP CALL
信息。If you prefer a pure cmd script, use the following pieces of code.
First, this snippet returns the current time in hundreths of seconds.
You may then use it to build a wait loop like this.
and, finally, putting all pieces together, you have this example of usage
For a more detailed description of the commands used here, check
HELP SET
andHELP CALL
information.快速谷歌搜索得出了这个答案...
PING 1.1.1.1 -n 1 -w 30000 >NUL
它会尝试 ping 直到超时(30000ms)
A quick google search came up with this answer...
PING 1.1.1.1 -n 1 -w 30000 >NUL
It'll try and ping until the timeout (30000ms)
伟大的!所以这最终是正确的解决方案。
只是一个细节,如果您在本地化操作系统上使用它,请确保您的“DELIMS”设置适合。
例如,使用“DELIMS=:,”而不是“DELIMS=:”。用于捷克语本地化。
GREAT! So THIS one is the correct solution, finnaly.
Just a detail, if You use it at the localised OS, make sure Your "DELIMS" setting fits.
For example, use "DELIMS=:," instead of "DELIMS=:." for Czech localisation.