宽带连接工具[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{"显示 ...
随机推荐
- Linux - How To Set Up an NFS Mount on CentOS 6
About NFS (Network File System) Mounts NFS mounts work to share a directory between several servers. ...
- C语言读写伯克利DB 3
gcc -o channeldb channel.c -db -Wall # -Wall参数等价于执行lint,即:进行代码的静态分析,它可以指出未初始化的变量,未使用的变量 #include < ...
- IE6 max-width max-height 不起作用 解决其兼容性问题
.catelist dl dd ul li img {width: expression(this.width > 228 ? '228px': true); max-width:228px; ...
- Chosen 基本使用
点击下载Chosen 引入文件 chosen.css jquery-1.7.1.min.js chosen.jquery.js 绑定数据: for (var i = 0; i < data.le ...
- Number of Parallelograms(求平行四边形个数)
Number of Parallelograms time limit per test 4 seconds memory limit per test 256 megabytes input sta ...
- [Javascript] property function && Enumeration
var vehicle3 = { type: "Submarine", capacity: 8, storedAt: "Underwater Outpost", ...
- [Redux] Extracting Action Creators
We will create an anction creator to manage the dispatch actions, to keep code maintainable and self ...
- iOS7 StatusBar 使用小结
1. 样式 2. 显示和隐藏 3. 动画效果 4. 默认无StatusBar 其他 iOS7 中的StatusBar和之前版本的相比发生了很大变化,在iOS7下对statusbar的使用需要全新的方法 ...
- 【算法】插入排序 insertion_sort
准备写个<STL 源代码剖析>的读书笔记,开个专栏.名为<STL 的实现>,将源代码整理一遍.非常喜欢侯捷先生写在封底的八个字:天下大事.必作于细.他在书中写到:"我 ...
- ERROR 1130: Host is not allowed to connect to this MySQL server
解决远程连接mysql错误1130代码的方法 今天在用远程连接Mysql服务器的数据库,不管怎么弄都是连接不到,错误代码是1130,ERROR 1130: Host 192.168.2.159 is ...