校园网是真滴垃圾呀,20M网线的拨号上网,网速慢还经常断开,每次开机得手动连接,很麻烦,就尝试用CMD脚本连接,下面的这个脚本已经是更新了四五代版本了,最初的代码只能连接,之后增加了一键断开或连接,现在增加了开机后可以多此检查是否网络连接正常 说实话,cmd语言真的太老了!用起来真难受,到我现在这一步很难再发展下去,所以就重新开始一条路,python脚本要更加灵活多变,这次把bat的最终版记录下,免得之后忘记,然后开始新的征程。
代码解释 cmd的语言比较麻烦,还是写下比较好 @echo off 这个语句后面的指令不会显示在弹出的cmd窗口中 echo 显示什么….字符串 for /f %%i in (‘ipconfig ^| findstr PPP’) for循环读取“ipconfig”指令返回的信息组 if [“%%i”]==[“PPP”] 判断返回的信息中是否有 “PPP” 这儿还是实际演示下吧
C:\Users\43582>ipconfig Windows IP 配置 PPP 适配器 kuandai: 连接特定的 DNS 后缀 . . . . . . . : 本地链接 IPv6 地址. . . . . . . . : fe80::d450:ec7b:dc7b:1a18%48 IPv4 地址 . . . . . . . . . . . . : 10.9.123.72 子网掩码 . . . . . . . . . . . . : 255.255.255.255 默认网关. . . . . . . . . . . . . : 0.0.0.0 无线局域网适配器 WLAN: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : 无线局域网适配器 本地连接* 1: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : 无线局域网适配器 本地连接* 10: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : 以太网适配器 以太网: 连接特定的 DNS 后缀 . . . . . . . : IPv4 地址 . . . . . . . . . . . . : 10.99.6.117 子网掩码 . . . . . . . . . . . . : 255.255.128.0 默认网关. . . . . . . . . . . . . : 10.99.0.1 以太网适配器 以太网 2: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : 以太网适配器 蓝牙网络连接: 媒体状态 . . . . . . . . . . . . : 媒体已断开连接 连接特定的 DNS 后缀 . . . . . . . : C:\Users\43582>
从上面信息可以看到,拨号连接上会多个 “PPP”的适配器,所以这儿就是利用这个来判断是否拨号连接上,如果连接上,就让网络断开,–rasdial /disconnect–这个指令用来断开宽带连接;如果没有连接,就让他连接–RASDIAL “kuandai” 22217010049 303611–这个指令是让他连接宽带,“宽带名称” 账号 密码 。 连接后开始检测是否连接成功,代码原理同上,因为cmd中定义变量什么都比较麻烦,只能在python中开发
ping 127.0.0.1>nul 这个是用来延时的 ping一下 大概是1秒
@echo off echo ----------------------------------star----------------------------------- for /f %%i in ('ipconfig ^| findstr PPP') do ( if ["%%i"]==["PPP"] ( rasdial /disconnect echo ---------------5555--- ping 127.0.0.1>nul exit ) else (echo ---------------6666--- ping 127.0.0.1>nul ) ) RASDIAL "kuandai" 22217010049 303611 echo ----------------------------------connect-1----------------------------------- ping 127.0.0.1>nul for /f %%i in ('ipconfig ^| findstr PPP') do ( if ["%%i"]==["PPP"] ( && echo----------------------------------connect----------------------------------- && echo -------------------------------copyright:-------------------------------- &&exit) ) RASDIAL "kuandai" 22217010049 303611 echo ----------------------------------connect-2----------------------------------- ping 127.0.0.1>nul for /f %%i in ('ipconfig ^| findstr PPP') do ( if ["%%i"]==["PPP"] ( && echo----------------------------------connect----------------------------------- && echo -------------------------------copyright:-------------------------------- &&exit) ) RASDIAL "kuandai" 22217010049 303611 echo ----------------------------------connect-3----------------------------------- ping 127.0.0.1>nul exit