码迷,mamicode.com
首页 > 其他好文 > 详细

宽带连接工具[bat]

时间:2014-12-12 11:36:11      阅读:295      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   ar   color   使用   sp   for   

功能概述:

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

 

flash模拟演示(swf外链已失效):

bubuko.com,布布扣

(找个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即可。

宽带连接下载链接百度网盘

 

 


 

date:2013-12-13

 

宽带连接工具[bat]

标签:style   blog   http   io   ar   color   使用   sp   for   

原文地址:http://www.cnblogs.com/pxyufeng/p/4159171.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!