宽带连接工具[bat]

时间:2022-04-02 09:10:44
功能概述:

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

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


date:2013-12-13