加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – 如何运行命令直到成功?

发布时间:2020-12-14 04:16:18 所属栏目:Windows 来源:网络整理
导读:我仍然使用 Windows批处理文件来执行基本任务.其中一个是检查我的互联网连接(pg.bat),它只执行ping www.google.com 大多数时候,我需要运行它几次,直到它成功(主机找不到错误).起初我认为ping -t会起作用,但事实并非如此.找不到主机时,它会立即停止. 如何在pi
我仍然使用 Windows批处理文件来执行基本任务.其中一个是检查我的互联网连接(pg.bat),它只执行ping www.google.com

大多数时候,我需要运行它几次,直到它成功(主机找不到错误).起初我认为ping -t会起作用,但事实并非如此.找不到主机时,它会立即停止.

如何在ping成功之前运行pg.bat? (即至少有一个默认的4个ping工作)

通常,您可以在批处理文件中使用label / goto语法.
:repeat
your-command || goto :repeat
echo Success!

||如果第一个命令失败,它将只运行第二个命令.在这种情况下失败意味着非零退出代码,因此它仅适用于将%errorlevel%设置为0表示成功或非零表示失败的命令.

对于ping.exe的特定情况,退出代码在失败时并不总是非零.在这种情况下,您可以使用find.exe搜索ping的输出以获取成功消息,并设置我们需要的errorlevel.

:repeat
(ping -n 1 www.google.com | find "TTL=") || goto :repeat
echo Success!

(感谢Stephan关于ping.exe退出代码的解释和解决方案)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读