batch file – 使用ping来testingnetworking连接

使用batch file可以做到这样的事情:

平google.com

如果返回成功ECHO您连接到互联网

否则返回ECHO您没有连接到互联网

你可以使用下面的代码片段:

@echo off Ping www.google.de -n 1 -w 1000 if errorlevel 1 echo Not connected 

这里有一个脚本,它会重复检查,每当Internet下线时,将时间(从系统时钟)和“internet离线”写入C:\ Internet.txt的日志文件。 不幸的是,日志文件中的最后一行会出现在最后 – 我不知道如何使它出现在顶部;)

顺便说一句:我把等待时间(-w)设置为20秒,因为我使用的是3G加密狗(使用2G互联网),因此20多年来,唯一的办法就是确定互联网是否真的出现故障或其他问题。可以随意更改为5000秒,或删除“-w 20000”以将其保留为默认值。

 @echo off :START ping -n 4 4.2.2.2 -w 20000 >nul if %errorlevel% == 1 ( echo Internet offline >> C:\Internet.txt Time /t >> C:\Internet.txt ) Timeout /t 30 @set errorlevel = 0 GOTO START 

这是一个脚本,以帮助您开始使用它:

http://www.techimo.com/forum/networking-internet/73769-handy-batch-file-check-network-connectivity.html

注:如果您的系统不是英文的,您将不得不修改脚本中用于find命令的行,以便将来自ping输出的Reply from过滤为系统语言中相应的字符串。

 @echo off echo Checking connection ping -n 1 www.google.com >nul if errorlevel 1 ( cls echo Failed pause>nul exit ) cls echo Success! pause>nul exit 

根据@ CShulz的回答,这里有一个脚本,只有在没有连接的情况下才会打印“Not connected”,否则它会每隔30秒静默地循环测试一次。 首先ping连接测试,并在出现问题时打印出错信息。 第二个ping通过ping本地主机增加了30秒的等待时间。

 @echo off :loop ping www.google.com -n 1 -w 5000 > nul if errorlevel 1 echo Not connected ping -n 30 127.0.0.1 > nul goto loop 
 @echo off :loop ping www.google.com -n 1 -w 5000 >NUL if errorlevel 1 echo Not connected goto Loop