宽带连接工具[bat]
本工具使用批处理编写,提供自动判断网络状态以决定断开或是连上网络,本月已用宽带时长,到月初自动清零。提供联网日志功能,可以记录下所有的连接或断开网络记录。如果连接失败,自动提示输入密码,特别适合每天要更换动态密码者使用。(windows系统可用)
flash模拟演示(swf加载慢请稍候):
下载flash:宽带连接演示.swf
宽带连接工具下载:百度网盘
bat源码:
@echo off
:retry
::窗口配置
title 宽带连接工具
mode con cols= lines= & color ::检查配置文件是否存在,否,则创建。
if not exist netconfig.ini call:remd ::检查配置文件是否符合标准格式,否,则重新创建
findstr . "netconfig.ini">nul && cls||call:remd
Setlocal Enabledelayedexpansion
set bbj1=[宽带连接名称:]
set bbj3=[用户名:]
set bbj5=[密码:]
set bbj7=[本月已用宽带时长]
set bbj9=[时间显示开关]
set bbj11=[宽带时长显示开关]
set bbj13=[上网时间记录开关]
set bbj15=[上次使用时间]
call:extxt ::读取配置信息
Setlocal Enabledelayedexpansion
set n=
For /f "delims=" %% in (netconfig.ini) do (
Set /a n+=
If !n!== set name=%%
If !n!== set user=%%
If !n!== set password=%%
If !n!== set netsc=%%
If !n!== set timekey=%%
If !n!== set netimky=%%
If !n!== set rizhiy=%%
If !n!== set oldtime=%%
If !n!== set olddate=%%
) ::判断月份差,清空宽带时长
set/a "boldm=(1%olddate:~5,2%-100)"
REM echo %boldm%
set/a "bm=(1%date:~5,2%-100)"
REM echo %bm%
set/a "cmon=%bm%-%boldm%
if not %cmon%== call:rewrite
rem echo %netsc%
REM echo %cmon%
::对宽带时长进行变形
set/a "bnewsc1=%netsc%/3600
set/a "bnewsc2=%netsc%%%3600/60
set/a "bnewsc3=%netsc%%%3600%%60
set "bnewsc=%bnewsc1%小时%bnewsc2%分%bnewsc3%秒
rem echo %bnewsc% %bnewsc1% %bnewsc2% %bnewsc3%
rem echo %name% %user% %password% call:clshow
::检测宽带状态自动判断连接或是断开
::断开,并判定结果
rasdial|find "已连接">nul
if %errorlevel%== (
rasdial %name% /DISCONNECT
if %errorlevel%== (
echo 网络已成功断开!
rem ping /n 127.1 >nul
call:wrizi 网络成功断开
call:kdsclj
call:rewrite "%time%" %date%
rem ping /n 127.1 >nul
exit
)
if not %errorlevel%== (
echo 网络断开失败!
ping /n 127.1 >nul & exit
)
) ::连接,并判定,更改
if %errorlevel%== (
rasdial %name% %user% %password%
rasdial|find "已连接">nul
if !errorlevel!== (
echo 网络已成功连接!
call:wrizi 网络成功连接
call:rewrite "%time%" %date%
ping /n 127.1 >nul
exit
)
if not !errorlevel!== (
call:clshow & color 0e
echo 网络连接失败!
echo -----------------------------
echo 更改宽带连接名称,请输入#
echo 更改账号,请输入*
echo 更改密码,请直接输入密码
set /p newpass=
if !newpass!==* (
echo 请输入账号:
set /p newuser=
call:rewrite !newuser! & goto:retry
)
if !newpass!==# (
echo 请输入宽带连接名称:
set /p newname=
call:rewrite !newname! & goto:retry
)
if not !newpass!==* if not !newpass!==# (
call:rewrite !newpass! & goto:retry
)
)
) ::测试结尾
rem echo 测试完成,按任意键退出。&pause>nul ::子程序 ::清屏,重显
:clshow
cls
echo 欢迎使用宽带连接工具!
if %timekey%== echo 现在时间 %date% %time%
echo 当前账号:%user%
if %netimky%== echo 本月已用宽带时长:%bnewsc%
goto:eof ::更改配置文件
:rewrite
Setlocal Enabledelayedexpansion
set index=
for /f "delims=" %%i in (netconfig.ini) do (
set /a index+=
set var!index!=%%i
)
set var%=%
set var%=%
(for /l %%i in ( !index!) do echo !var%%i!)>netconfig.ini
goto:eof ::重新创建配置文件
:remd
rem pause
echo [宽带连接名称:]>"netconfig.ini"
for %% in (
宽带连接
[用户名:] [密码:] [本月已用宽带时长] [时间显示开关] [宽带时长显示开关] [上网时间记录开关] [上次使用时间]
"%time%"
%date%
)do echo %%>>"netconfig.ini"
goto:retry
rem echo 欢迎使用宽带连接工具!
goto:eof ::检测配置是否合法,否则,重置
:extxt
set n=
Setlocal Enabledelayedexpansion
For /f "delims=" %%i in (netconfig.ini) do (
Set /a n+=
set bb!n!=%%i
rem echo bb!n!=%%i
)
for /l %%i in ( ) do (
rem if !bb%%i! neq !bbj%%i! echo "!bb%%i!""!bbj%%i!"&pause>nul
if !bb%%i! neq !bbj%%i! call:remd
)
goto:eof ::宽带计时累加(支持跨天)
:kdsclj
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)"
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)"
set/a "ctime=%bt%-%boldt%
set/a "newsc=%netsc%+%ctime%
call:rewrite %newsc%
goto:eof ::写入日志
:wrizi
if %rizhiy%== echo %date% %time% % >> 网络连接日志.txt
for %%i in (网络连接日志.txt )do if %%~zi GTR del "%%i"
goto:eof
将以上代码复制保存为x.bat即可。
宽带连接工具[bat]的更多相关文章
- 实用AutoHotkey功能展示
AutoHotkey是什么 AutoHotkey是一个自动化脚本语言. AutoHotkey有什么用 可以让你用热键操控一切,操作电脑就像在表演魔术 我的口号 AutoHotkey!用过都说好! Au ...
- bat文件的妙用1-一键开启所有开发软件
每天早上来的第一件事情,就是打开电脑,然后开一堆的软件 1.wamp 开发环境 2.钉钉 通讯工具 3.PHPstrom 开发工具 4.nodejs.bat Nodejs的扩展(node D:/w ...
- 【转】宽带路由器应用(三)—ARP欺骗防护功能的使用
在局域网中,通信前必须通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址).ARP协议对网络安全具有重要的意义.通过伪造IP地址和MAC地址实现ARP欺骗,对网络的正常传输和安全都是一个很 ...
- Centos7宽带连接
网上大多教程都是虚拟机上实现宽带连接的,但是实际有差别 装完系统最头疼的就是宽带连接 转自:centos创建宽带连接-EnchanterBlue-ChinaUnix博客 http://blog.chi ...
- BAT“搅局”B2B市场,CIO们准备好了吗?
"CIO必须灵活构建其所在企业的IT系统,深入业务,以应对日新月异的数字化业务环境." BAT军团"搅局"B2B市场,CIO们准备好了吗? 庞大的企业级市场 ...
- Jenkins配置MSBuild实现自动部署(MSBuild+SVN/Subversion+FTP+BAT)
所要用到的主要插件: [MSBuild Plugin] 具体操作: 1.配置MSBuild的版本 [系统管理]->[Global Tool Configuration]->[MSBuild ...
- 猫哥网络编程系列:详解 BAT 面试题
从产品上线前的接口开发和调试,到上线后的 bug 定位.性能优化,网络编程知识贯穿着一个互联网产品的整个生命周期.不论你是前后端的开发岗位,还是 SQA.运维等其他技术岗位,掌握网络编程知识均是岗位的 ...
- BVT & BAT (版本验证测试和版本验收测试)
BVT & BAT 版权声明:本文为博主原创文章,未经博主允许不得转载. 一.BVT: (Build Verification Test ) BVT的概念: BVT(版本验证测试)是在所有开发 ...
- 批处理bat 命令
1.批处理常用符号: - echo 打开回显或关闭请求回显功能,或显示消息.如果没有任何参数,echo 命令将显示当前回显设置 语法:@echo [{ on|off }] echo{"显示 ...
随机推荐
- .net mvc结合微软提供的FormsAuthenticationTicket登陆
一.Web.config <system.web> <compilation debug="true" targetFramework="4.5&quo ...
- JavaWeb学习笔记--Servlet代码集
目录: 登录系统提交表单数据打开PDFCookieURL传递参数URL重写跟踪会话使用HttpSession对象跟踪会话Servlet间协作过滤器Filter 登录系统 <!DOCTYPE HT ...
- Bootstrap 模态对话框 remote指定内容加载
第一个页面: .....其他内容..... <div class="modal" id="ID_ReformDetail"> <div cla ...
- [HDU] 3711 Binary Number [位运算]
Binary Number Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Tot ...
- 必须弄懂的495个C语言问题
1.1 我如何决定使用那种整数类型? 如果需要大数 值(大于32, 767 或小于¡32, 767), 使用long 型.否则, 如果空间很重要(如有大数组或很多结构), 使用short 型.除此之外 ...
- 为GridView中的DropDownList赋值
<Bda:GridView ID="gvMessage" runat="server" Height="70px" Width=&qu ...
- 微软推荐的Get a code signing certificate流程和链接
Get a code signing certificate Before you can establish a Windows Dev Center hardware dashboard ac ...
- Grunt 插件开发与调式
1 grunt是什么 官方网站解释的很清楚,http://gruntjs.com/ http://gruntjs.cn/ 它是一种javascript任务运行器,对于需要反复重复的任务,例如压缩.编译 ...
- 《Two Days DIV + CSS》读书笔记——CSS选择器
1.1.2 CSS选择器 CSS 选择器最基本的有四种:标签选择器.ID 选择器.类选择器.通用选择器. [标签选择器] 一个完整的 HTML 页面由很多不同的标签组成,而标签选择器,则是决定哪些标签 ...
- POJ 1631 Bridging signals DP(最长上升子序列)
最近一直在做<挑战程序设计竞赛>的练习题,感觉好多经典的题,都值得记录. 题意:给你t组数据,每组数组有n个数字,求每组的最长上升子序列的长度. 思路:由于n最大为40000,所以n*n的 ...