宽带连接工具[bat]
功能概述:
本工具使用批处理编写,提供自动判断网络状态以决定断开或是连上网络,本月已用宽带时长,到月初自动清零。提供联网日志功能,可以记录下所有的连接或断开网络记录。如果连接失败,自动提示输入密码,特别适合每天要更换动态密码者使用。(windows系统可用)
flash模拟演示(swf加载慢请稍候):
下载flash:宽带连接演示.swf
宽带连接工具下载:百度网盘
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>nul 116 117 118 ::子程序 119 120 121 ::清屏,重显 122 :clshow 123 cls 124 echo 欢迎使用宽带连接工具! 125 if %timekey%==1 echo 现在时间 %date% %time% 126 echo 当前账号:%user% 127 if %netimky%==1 echo 本月已用宽带时长:%bnewsc% 128 goto:eof 129 130 131 ::更改配置文件 132 :rewrite 133 Setlocal Enabledelayedexpansion 134 set index=0 135 for /f "delims=" %%i in (netconfig.ini) do ( 136 set /a index+=1 137 set var!index!=%%i 138 ) 139 set var%1=%2 140 set var%3=%4 141 (for /l %%i in (1 1 !index!) do echo !var%%i!)>netconfig.ini 142 goto:eof 143 144 145 ::重新创建配置文件 146 :remd 147 rem pause 148 echo [宽带连接名称:]>"netconfig.ini" 149 for %%1 in ( 150 宽带连接 151 [用户名:] 152 12345678910 153 [密码:] 154 123456 155 [本月已用宽带时长] 156 000000 157 [时间显示开关] 158 1 159 [宽带时长显示开关] 160 1 161 [上网时间记录开关] 162 0 163 [上次使用时间] 164 "%time%" 165 %date% 166 )do echo %%1>>"netconfig.ini" 167 goto:retry 168 rem echo 欢迎使用宽带连接工具! 169 goto:eof 170 171 172 ::检测配置是否合法,否则,重置 173 :extxt 174 set n=0 175 Setlocal Enabledelayedexpansion 176 For /f "delims=" %%i in (netconfig.ini) do ( 177 Set /a n+=1 178 set bb!n!=%%i 179 rem echo bb!n!=%%i 180 ) 181 for /l %%i in (1 2 15) do ( 182 rem if !bb%%i! neq !bbj%%i! echo "!bb%%i!""!bbj%%i!"&pause>nul 183 if !bb%%i! neq !bbj%%i! call:remd 184 ) 185 goto:eof 186 187 ::宽带计时累加(支持跨天) 188 :kdsclj 189 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:eof 195 196 ::写入日志 197 :wrizi 198 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即可。