『第
2 楼』:
@echo oFF&SETLOCAL ENABLEDELAYEDEXPANSION&(CHCP 437 &GRAFTABL 936&mode con cols=80 lines=25)>NUL&goto :head::
::SYBN 网络检测工具
::用于检测和诊断网络连接
::SYBN V0.1 2010-5-12
::QQ354324773
::本工具处于开发阶段。部分功能尚未开发,请等待更新版本。
:voidmain
title SYBN 网络检测工具 QQ:354324773 单击鼠标以开始..
sybc m
title SYBN 网络检测工具 QQ:354324773 检测中..
cls
set hs=0
echo ◎SYBN 网络检测工具 QQ:354324773 ╗ 您当前的网络状况:
echo ╔═════════════════╝
echo ╚◎测试回环 检查IP/TCP协议状态 ⊕╗ 部分功能尚未开发,请等待更新版本。
echo ╔═════════════════╝
echo ╚◎测试网卡 检查网线和网络设备 ⊕╗
echo ╔═════════════════╝
echo ╚◎测试网关 检查网关连通性 ⊕╗
echo ╔═════════════════╝
echo ╚◎测试外网 检查网关有效性 ⊕╗
echo ╔═════════════════╝
echo ╚◎测试DNS 检查DNS 连通性 ⊕╗
echo ╔═════════════════╝
echo ╚◎测试域名 检查DNS 有效性 ⊕╗
echo ╔═════════════════╝
echo ╚◎本工具处于开发阶段。尚开发未完成
::改变各栏目条颜色
sybc 10002$72##$7C####$71##############$7d##############$0A##
for /l %%a in (2,2,12) do (
set /a BSWZ=10002+%%a00
sybc !BSWZ!$80##################################
)
sybc 11402$8A##################################
call :BX %hs%
for /l %%a in (1,1,6) do (
set /a hs=hs+2,hss=hs
::进度条逐个改变hs位置颜色
call :BS
set pingerr=0
::调用测试模块N(:XX%%a)
call :XX%%a
::如果全部链接失败则跳转到相应的解决发难
if !errorlevel! == 0 call :noXX %%a
::一次性改变hs位置颜色
call :BH !hss!
::改变hs位置的管道线的颜色
call :BX
)
set /a hs=hs+2
call :BS
call :BH !hs!
goto :voidmain
:noxx
title 问题%1
set err=%1
call :BH %hss% no
SYBC 10244$0C问题代码%1,$03详细情形请等待更新版本.
pause>NUL
exit
:XX1
call :lj 127.0.0.1
EXIT /B %pingerr%
:XX2
for /f "tokens=15" %%a in ('ipconfig ^|find "IP Address"') do (
call :lj %%a
goto :XX3_2
)
set xs=本地地址 $8C获取失败! no
call :XS %xs%
EXIT /B %pingerr%
:XX3
for /f "tokens=13" %%a in ('ipconfig ^|find "Gateway"') do (
call :lj %%a
goto :XX3_2
)
set xs=网关地址 $8C获取失败! no
call :XS %xs%
:XX3_2
EXIT /B %pingerr%
:XX4
call :lj 8.8.8.8
call :lj 8.8.4.4
EXIT /B %pingerr%
:XX5
for /f "tokens=15" %%a in ('ipconfig /all^|find "DNS Servers"') do (
call :lj %%a
goto :XX3_2
)
set xs=DNS地址 $8C获取失败! no
call :XS %xs%
EXIT /B %pingerr%
:XX6
call :lj www.baidu.com
call :lj www.google.com
call :lj www.net.cn
call :lj www.cn-dos.net
EXIT /B %pingerr%
:lj
::连接参数所指定地址,返回"IP:延迟",如不通则返回"连接失败!"
call :ping %1
set err=!errorlevel!
set /a pingerr=pingerr+err
set xs=链接:%1 延迟:!err!ms
if !err! == 0 set xs=链接:%1 $8C连接失败! no
call :XS %xs%
goto :EOF
:ping
::ping参数所指定地址,并返回网络延迟,如不通则返回0
for /f "tokens=1,2,3,4,5,6" %%a in ('ping %1 -n 1^|find " time"') do if not "%%e" == "" (set ptime=%%e&&goto :ping2)
set ptime=time=0ms
:ping2
set ptime=%ptime:~5,99%
EXIT /B %ptime:~0,-2%
:GP
set /a GP1=hs+1,GP2=hs+2
::移动某一行%hs%起的所有内容到另一行%2
(echo mb800:%%XSHC%GP1%%% fa0 b800:%%XSHC%GP2%%%&echo q)|debug>NUL
set /a hs=hs+1
set /a BSWZ=10000+%hs%00
if "%1" == "no" (
sybc !BSWZ!$07 $80 $07║
) else (
sybc !BSWZ!$07 $80 $0A║
)
goto :EOF
:XS
::插入一行,并显示指定文字
call :GP %3
set /a BSWZ=%hs%00+10002
sybc !BSWZ!$8f%1
set /a BSWZ=%hs%00+10024
sybc !BSWZ!$8f%2
goto :EOF
:BX
::改变hs位置的管道线的颜色
set /a BSWZ=%hs%00+10120
sybc !BSWZ!$0A##################
set /a BSWZ=%hs%00+10100
sybc !BSWZ!$0A####################;##
goto :EOF
:BH
::一次性改变hs位置颜色
set /a BSWZ=%100+10002
if "%2" == "no" (
sybc !BSWZ!$C0##################################
) else (
sybc !BSWZ!$A1##################################$0A##
)
goto :EOF
:BS
::进度条逐个改变hs位置颜色
for /l %%a in (0,2,32) do (
set /a BSWZ=%hs%00+10002+%%a
sybc !BSWZ!$70##
cd >nul
)
goto :EOF
:head
::载入/生成sybc1.1.43 变量SYBCOM保存SYBC的16进制数据 SYBCV保存DEBUG代码 将这两个变量的值交由DEBUG执行时可以从内存读取SYBCS变量做参数在内存运行SYBC.COM
SET SYBCOM=A100``80BE BA00 0 88AC ACC4 88AC 80C3 FC`3674 FC80 BEFF 82 4B75 2CBE AC00 C488`86AC 50C4 BE1F 0 3CAC 7553 ACFB 593C`F675 3CAC 7542 ACF1 433C EC75 3CAC 7553`ACE7 3D3C E275 1DEB 1B3 8EE9 B300 E902`89 3CAC 743A 3C0E 740D 3C5B 7400 8357`1EE 83E9 AC00 313C 1874 4A3C DA74 4B3C`DB74 4D3C 4474 6A3C CE74 6B3C CF74 6D3C`3874 D6E8 E800 F0 183C 2A7F C688 CAE8`E800 E4 4F3C 1E7F C288 2B0 E2F6 B050`F6A0 5FE6 C701 AC57 243C 374 EE83 E801`74 D188 38EB 4CB4 21CD B8 CD00 B833`1 33CD 5B8 CD00 A933 3 F174 3B8`CD00 8933 B3C8 F608 EBF3 B0DB CD00 8016`2FB D274 E088 CEEB 815F A0C7 5700 B850`B800 750 295A 88F5 ACCA 243C B174 3B3C`1174 D3C 5174 3C 4D74 233C 875 D783`EB01 E904 FF3C 80AA FA 574 D088 EBAA`83D8 1D7 D3EB 32E8 3C00 7523 8008 23FB`375 B2 38C3 74D8 87F9 3CC3 7E39 402`8009 39FB 37E C380 2409 800F FE3 10B2`E2F6 D800 C288 B4C3 CD4C AC21 203C FB74`D3C F374 3C EF74 C388 3CAC 7420 3CEC`740D 3CE4 7400 C3E0 C387 302C EB80 B430`F60A E4 C3D8``
SET SYBCV=`A80`DB FF``RCX`200`G`Q
::以下2行是SYBC.com生成代码,可以生成SYBC.com文件
SET V=`RCX`200`N SYBC.COM`W`Q
(ECHO.%SYBCOM:`=&ECHO.DW %&ECHO.%V:`=&ECHO.%)|DEBUG>NUL
::保存显示缓存各行地址16进制值
set XSHC=0=`1=A`2=14`3=1E`4=28`5=32`6=3C`7=46`8=50`9=5A`10=64`11=6E`12=78`13=82`14=8C`15=96`16=A0`17=AA`18=B4`19=BE`20=C8`21=D2`22=DC`23=E6`24=F0
set XSHC%XSHC:`=0&set XSHC%
echo SYBN 网络检测工具 QQ:354324773
::利用DEBUG开启25*80显示模式
(echo.Q)|debug>NUL
::延时0.5秒,确保转换到25*80显示模式
ping 543001 -n 1 -w 40 >NUL
goto :voidmain
[ Last edited by sl543001 on 2010-5-13 at 08:36 ]
|