使用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
这是一个脚本,以帮助您开始使用它:
注:如果您的系统不是英文的,您将不得不修改脚本中用于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