检测网络的批处理语句

之前说学学powershell,但毕竟精力有限,说说罢了。

今天开机10秒网都没接上,导致自动备份程序失效,不得已只好来修改批处理。

上网查了一下检测网络的代码,百度知道里的答案是用管道命令把Ping的结果给导到一个findstr的命令上,然后用查找文本的方式来确定是否成功。

@echo off
:start
ping /n 2 baidu.com|findstr “TTL=”&&goto next||goto start
:next
echo we connected!

我运行的时候发现一个无关的诡异现象:如果ping www.baidu.com,会得到一个www.a.shifen.com的地址,不知道是谁对我的ping进行了劫持,改天再细究吧。

当然,我觉得更靠谱的是:

:loop
@ping -n 1 www.baidu.com
@if %ERRORLEVEL%==0 goto ie
@goto loop
:ie

直接根据错误值来判断是否应该跳回起点。其实这里并不算循环,属于goto语句的基本应用。

毕竟不是真正的程序,goto语句这种简单粗暴的东西用用也无妨。

发表评论

电子邮件地址不会被公开。 必填项已用*标注