Batch file 当连接失败时,如何中断循环?
我正在做一个ping批处理程序。 我想学习的是,当连接断开时,如何跳过循环? 例如:Batch file 当连接失败时,如何中断循环?,batch-file,ping,Batch File,Ping,我正在做一个ping批处理程序。 我想学习的是,当连接断开时,如何跳过循环? 例如: @echo off :1 ping www.stackoverflow.com (I guess) if errorlevel 1 set errorlev=1 If errorlevel 1 goto 2 goto 1 :2 Echo ping failed! Title ping failed! color c 你可以试试这个: :back ping www.stackoverflow.com >n
@echo off
:1
ping www.stackoverflow.com
(I guess) if errorlevel 1 set errorlev=1
If errorlevel 1 goto 2
goto 1
:2
Echo ping failed!
Title ping failed!
color c
你可以试试这个:
:back
ping www.stackoverflow.com >nul && goto:back
Echo ping failed!
所以你想永远ping直到ping失败,然后停止
@echo off
:1
ping -n 1 www.stackoverflow.com | find "Reply from">nul2>nul && goto :1
echo ping failed!
title ping failed!
color c
注意:我使用管道查找而不是检查ERRORLEVEL,因为某些Windows版本与某些故障条件下的ERRORLEVEL设置不一致。请参见下面的示例
C:\Users\Me>ping -n 1 192.168.1.2
Pinging 192.168.1.2 with 32 bytes of data:
Reply from 192.168.1.102: Destination host unreachable.
Ping statistics for 192.168.1.2:
Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
C:\Users\Me>echo %errorlevel%
0
bash中有一个break命令