批处理BAT结合任务计划程序实现自动网络连接

自动网络连接

实验室的网络不稳定,宽带连接有时会掉线,因此需要设置自动连接,实现方法为批处理BAT结合任务计划程序,记录整个设置步骤如下。

批处理.bat文件编写

内容如下:

@echo off
ping www.baidu.com 
if errorlevel 1 (
netsh wlan connect name=XXXX
rasdial ADSL 账号 密码
)
netsh interface ipv4 show addresses | find "ADSL" || rasdial ADSL 账号 密码
  • @echo off ——用于关闭回显,不显示正在执行的批处理命令及执行的结果;
  • ping www.baidu.com ——用于测试网络连接是否正常;
  • if errorlevel 1 ——如果网络连接失效,则执行括号内内容;
  • netsh wlan connect name=XXXX ——用于连接无线网络,因为实验室有时候有线会断掉,因此连接上无线的话可以作为备用;
  • rasdial ADSL 账号 密码 ——用于连接宽带,ADSL为自定的拨号连接名称,账号密码对应拨号连接的账号密码;
  • netsh interface ipv4 show addresses | find “ADSL” || rasdial ADSL 账号 密码 ——这一部分的命令分为三段,首先执行netsh interface ipv4 show addresses,用于检查ipv4连接,然后通过“|”将返回的结果传入后一指令;find "ADSL"用于检查前面指令执行的结果是否包含ADSL,如果没有的话,则意味着拨号连接断开,因此通过“||”执行下一个命令;rasdial ADSL 账号 密码用于拨号连接;

将这些内容写入.bat批处理文件,下一步就是设置任务计划程序。

任务计划程序

windows的任务计划程序功能很强大,足够满足设置自动连接的需求,步骤如下:

  • 找到任务计划程序,右边找到创建任务;
  • 名称自定,下方勾选“不管用户是否登录都要运行”以及“使用最高权限运行”,这一步是为了开机的时候在登录输入密码之前就运行,避免遇到断电重启等情况后无法远程连接;
  • 设置触发器,这一步需要设置两个触发器,一个是“启动时”,另一个是“按预定计划”。在“按预定计划”的设置中,勾选“一次”,并随便设置一个开始时间,可以是当前的时间,也可以是已经过了的时间。在下方设置“重复任务间隔”,即多长时间执行一次,我设置的是10分钟,持续时间当然是“无限期”;
  • 下一步设置操作,选择新建“启动程序”,程序就选择上一部分写好的“.bat”文件;
  • “条件”默认,最后在“设置”中,勾选“如果过了计划开始时间,立即启动任务”,这样就可以定期无限循环执行了。
上一篇:k8s内网和办公网络的打通实践


下一篇:使用DSVPN解决分支网络出口为ADSL场景下的内网互通