博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
宽带连接工具[bat]
阅读量:4988 次
发布时间:2019-06-12

本文共 4540 字,大约阅读时间需要 15 分钟。

功能概述:

本工具使用批处理编写,提供自动判断网络状态以决定断开或是连上网络,本月已用宽带时长,到月初自动清零。提供联网日志功能,可以记录下所有的连接或断开网络记录。如果连接失败,自动提示输入密码,特别适合每天要更换动态密码者使用。(windows系统可用)

 

flash模拟演示(swf加载慢请稍候):

下载flash

宽带连接工具下载

bat源码:

1 @echo off  2 :retry  3 ::窗口配置  4 title 宽带连接工具  5 mode con cols=50 lines=15 & color 02  6   7 ::检查配置文件是否存在,否,则创建。  8 if not exist netconfig.ini call:remd  9  10 ::检查配置文件是否符合标准格式,否,则重新创建 11 findstr . "netconfig.ini">nul && cls||call:remd 12 Setlocal Enabledelayedexpansion 13 set bbj1=[宽带连接名称:] 14 set bbj3=[用户名:] 15 set bbj5=[密码:] 16 set bbj7=[本月已用宽带时长] 17 set bbj9=[时间显示开关] 18 set bbj11=[宽带时长显示开关] 19 set bbj13=[上网时间记录开关] 20 set bbj15=[上次使用时间] 21 call:extxt 22  23 ::读取配置信息 24 Setlocal Enabledelayedexpansion 25 set n=0 26 For /f "delims=" %%2 in (netconfig.ini) do ( 27 Set /a n+=1  28 If !n!==2 set name=%%2 29 If !n!==4 set user=%%2 30 If !n!==6 set password=%%2 31 If !n!==8 set netsc=%%2 32 If !n!==10 set timekey=%%2 33 If !n!==12 set netimky=%%2 34 If !n!==14 set rizhiy=%%2 35 If !n!==16 set oldtime=%%2 36 If !n!==17 set olddate=%%2 37 ) 38  39 ::判断月份差,清空宽带时长 40 set/a "boldm=(1%olddate:~5,2%-100)" 41 REM echo %boldm% 42 set/a "bm=(1%date:~5,2%-100)" 43 REM echo %bm% 44 set/a "cmon=%bm%-%boldm% 45 if not %cmon%==0 call:rewrite 8 000000 46 rem echo %netsc% 47 REM echo %cmon% 48 ::对宽带时长进行变形 49 set/a "bnewsc1=%netsc%/3600 50 set/a "bnewsc2=%netsc%%%3600/60 51 set/a "bnewsc3=%netsc%%%3600%%60 52 set   "bnewsc=%bnewsc1%小时%bnewsc2%分%bnewsc3%秒 53 rem echo %bnewsc% %bnewsc1% %bnewsc2% %bnewsc3% 54 rem echo %name% %user% %password% 55  56  57 call:clshow 58 ::检测宽带状态自动判断连接或是断开 59 ::断开,并判定结果 60 rasdial|find "已连接">nul 61 if %errorlevel%==0 ( 62 rasdial %name% /DISCONNECT 63 if %errorlevel%==0 ( 64 echo 网络已成功断开! 65 rem ping /n 2 127.1 >nul   66 call:wrizi 网络成功断开 67 call:kdsclj 68 call:rewrite 16 "%time%" 17 %date% 69 rem ping /n 2 127.1 >nul  70 exit 71 ) 72 if not %errorlevel%==0 ( 73 echo 网络断开失败! 74 ping /n 10 127.1 >nul & exit 75 ) 76 ) 77  78  79 ::连接,并判定,更改 80 if %errorlevel%==1 ( 81   rasdial %name% %user% %password% 82   rasdial|find "已连接">nul 83   if !errorlevel!==0 ( 84   echo 网络已成功连接! 85   call:wrizi 网络成功连接 86   call:rewrite 16 "%time%" 17 %date% 87   ping /n 2 127.1 >nul  88   exit 89   ) 90   if not !errorlevel!==0 ( 91   call:clshow & color 0e 92   echo 网络连接失败! 93   echo ----------------------------- 94   echo 更改宽带连接名称,请输入# 95   echo 更改账号,请输入* 96   echo 更改密码,请直接输入密码 97   set /p newpass= 98   if !newpass!==* ( 99   echo 请输入账号:100   set /p newuser=101   call:rewrite 4 !newuser! & goto:retry 102   )103   if !newpass!==# (104   echo 请输入宽带连接名称:105   set /p newname=106   call:rewrite 2 !newname! & goto:retry 107   )108   if not !newpass!==* if not !newpass!==# (109   call:rewrite 6 !newpass! & goto:retry 110    )111   )112 )113  114 ::测试结尾115 rem echo 测试完成,按任意键退出。&pause>nul116 117 118 ::子程序119 120 121 ::清屏,重显122 :clshow123 cls124 echo 欢迎使用宽带连接工具!125 if %timekey%==1 echo 现在时间 %date% %time%126 echo 当前账号:%user%127 if %netimky%==1 echo 本月已用宽带时长:%bnewsc%128 goto:eof129 130 131 ::更改配置文件132 :rewrite133 Setlocal Enabledelayedexpansion134 set index=0135 for /f "delims=" %%i in (netconfig.ini) do (136  set /a index+=1137  set var!index!=%%i138 )139 set var%1=%2140 set var%3=%4141 (for /l %%i in (1 1 !index!) do echo !var%%i!)>netconfig.ini142 goto:eof143 144 145 ::重新创建配置文件146 :remd147 rem pause148 echo [宽带连接名称:]>"netconfig.ini"149 for %%1 in (150 宽带连接151 [用户名:]152 12345678910153 [密码:]154 123456155 [本月已用宽带时长]156 000000157 [时间显示开关]158 1159 [宽带时长显示开关]160 1161 [上网时间记录开关]162 0163 [上次使用时间]164 "%time%"165 %date%166 )do echo %%1>>"netconfig.ini"167 goto:retry168 rem echo 欢迎使用宽带连接工具!169 goto:eof170 171 172 ::检测配置是否合法,否则,重置173 :extxt174 set n=0175 Setlocal Enabledelayedexpansion176 For /f "delims=" %%i in (netconfig.ini) do (177 Set /a n+=1 178 set bb!n!=%%i179 rem echo bb!n!=%%i180 )181 for /l %%i in (1 2 15) do (182 rem if  !bb%%i! neq !bbj%%i! echo "!bb%%i!""!bbj%%i!"&pause>nul183 if  !bb%%i! neq !bbj%%i! call:remd 184 )185 goto:eof186 187 ::宽带计时累加(支持跨天)188 :kdsclj189 set/a "boldt=(1%olddate:~8,2%-100)*3600*24+(%oldtime:~1,2%)*3600+(1%oldtime:~4,2%-100)*60+(1%oldtime:~7,2%-100)"190 set/a "bt=(1%date:~8,2%-100)*3600*24+(%time:~0,2%)*3600+(1%time:~3,2%-100)*60+(1%time:~6,2%-100)"191 set/a "ctime=%bt%-%boldt%192 set/a "newsc=%netsc%+%ctime%193 call:rewrite 8 %newsc%194 goto:eof195 196 ::写入日志197 :wrizi198 if %rizhiy%==1 echo %date% %time%   %1 >> 网络连接日志.txt 199 for %%i in (网络连接日志.txt )do if %%~zi GTR 10485760 del "%%i"200 goto:eof

 

 
将以上代码复制保存为x.bat即可。

宽带连接下载链接

 

 


 

 

转载于:https://www.cnblogs.com/pxyufeng/p/4159171.html

你可能感兴趣的文章
设计模式之模板方法模式和策略模式
查看>>
遗弃(我看《功夫熊猫2》)
查看>>
iOS GCD基础篇 - 同步、异步,并发、并行的理解
查看>>
C++中const关键字详解
查看>>
Linux下的crontab定时执行任务命令详解
查看>>
【Java POI】POI基于事件驱动解析大数据量2007版本Excel,空值导致列错位问题
查看>>
.Net_05_事务的基本语法(Sql 语句)
查看>>
c++ 获取某个进程个数
查看>>
SparkSQL相关语句总结
查看>>
[洛谷P1514]引水入城
查看>>
[NC189A]数字权重
查看>>
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
查看>>
VS2015和OpenCV配置
查看>>
PHP_D4_“简易聊天室 ”的具体技术实现
查看>>
[BAT]通过schtasks.exe远程调用windows 2008 server上的计划任务,提示ERROR : Access is denied...
查看>>
关于实习的一些问题
查看>>
Mybatis Insert、update、delete流程
查看>>
NameValueCollection与Hashtable的区别
查看>>
DevExpress XtraReports 入门三 创建 Master-Detail(主/从) 报表
查看>>
Json对象的深浅拷贝
查看>>