无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: tanchenglong
打印 上一主题 下一主题

[分享] 自动检测网络通断(改进版)

  [复制链接]
跳转到指定楼层
1#
发表于 2024-3-11 14:42:37 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
引用了网络上的版本加以改进
1、可以指定PING的IP,或者默认PING网关(自动获取)
2、PING www.baidu.com,以验证网络连接状况
3、会用屏幕的颜色变化反映PING结果,如果是绿色表示是通的,红色表示不正常
  1. @echo off
  2. title 网络连通测试
  3. :a
  4. chcp 65001>nul
  5. call :select "IPV4 Address" "ip"||call :select "IP Address" "ip"
  6. call :select "Physical Address" "mac"
  7. call :select "Default Gateway" "gateway"
  8. call :select "DNS Servers" "dns"
  9. call :select "Description" "netcard"

  10. :: 演示效果
  11. chcp 936>nul
  12. setlocal ENABLEDELAYEDEXPANSION
  13. echo.
  14. echo.===============================================================
  15. echo.
  16. echo.            欢 迎 使 用 网 络 配 置 信 息 查 看 器
  17. echo.
  18. color a
  19. echo.
  20. echo 本机IP:%ip%
  21. echo 本机MAC:%mac%
  22. echo 本机DNS:%dns%
  23. echo 网关IP:%gateway%
  24. echo 网卡名称:%netcard%
  25. echo.
  26. REM PingSite表示外部网络的参考网址
  27. REM LanIP表示本地网络的网关
  28. REM set PingSite=www.baidu.com
  29. set LanIP=%gateway%
  30. set /p PingSite=请输入要检查的网址或者IP【如:%gateway%】:
  31. if NOT DEFINED PingSite set PingSite=www.baidu.com
  32. echo.
  33. echo.===============================================================
  34. echo.
  35. echo.     即将Ping %LanIP%
  36. echo.
  37. REM ping %LanIP% -n 1 -l 1 >nul 2>nul
  38. ping %LanIP% |find "TTL"
  39. if %ERRORLEVEL% EQU 0 (
  40.         REM echo.  ERRORLEVEL=%ERRORLEVEL%
  41.         color 27
  42.         echo.
  43.         echo   哦-----本地网络可以访问
  44.         REM ping %PingSite% -n 1 -l 1 >nul 2>nul
  45.         echo.
  46.         echo.
  47.         echo.===============================================================
  48.         echo.
  49.         echo.     即将Ping %PingSite%
  50.         echo.
  51.         call :PingSiteProc
  52.         ) else (
  53.         color 47
  54.         echo.
  55.         echo 哦----本地网络倒闭
  56.         echo 坏了-----网络彻底瘫痪了
  57.         echo.
  58. )


  59. REM echo.
  60. REM echo.===============================================================
  61. REM echo.
  62. REM echo.     即将Ping %PingSite%
  63. REM echo.
  64. REM ping %web%||echo.&&echo ◎◎◎◎◎◎◎◎◎◎◎◎◎&&color 47&&echo.&&echo      网络不通,请检查&&echo.&&echo ◎◎◎◎◎◎◎◎◎◎◎◎◎
  65. echo.
  66. echo.===============================================================
  67. timeout 5 >nul
  68. cls
  69. goto a
  70. REM pause>nul
  71. REM goto :eof

  72. :PingSiteProc
  73. ping %PingSite% |find "TTL"
  74. if %ERRORLEVEL% EQU 0 (
  75.         color 27
  76.         echo.
  77.         echo   耶-----%PingSite% 可以访问
  78.         echo   真爽-----网络畅通无阻
  79.         REM ^G表示Ctrl+G
  80.         REM echo ^G
  81.         ) else (
  82.         REM echo.  ERRORLEVEL3=%ERRORLEVEL%
  83.         color 47
  84.         echo   唔----%PingSite% 不能访问!
  85.         echo   不好-----网络闭关锁国了
  86.         echo.
  87. )
  88. goto :eof

  89. ::**************************************************************
  90. :: 解析ipconfig命令输出通用函数
  91. ::**************************************************************
  92. :select
  93. for /f "tokens=2 delims=:" %%i in ('ipconfig /all ^| findstr /i /c:%1') do if not "!%~2!" == "" set "%~2=%%i"
  94. goto :eof
复制代码

点评

技术贴  发表于 2024-3-11 14:53

评分

参与人数 2无忧币 +7 收起 理由
xinzi + 5 很给力!
yyz2191958 + 2 赞一个!

查看全部评分

2#
 楼主| 发表于 2024-3-18 08:37:42 | 显示全部楼层
1801403 发表于 2024-3-11 23:38
是不是我的姿势不对啊?DNS和网关都没获取成功啊。不管是IPV4还是IPV6,都不对啊。显示也不完全。。。直接 ...

可能系统配置中存在多网卡配置,比如虚拟网卡,这个默认只取了第1个,你用IPCONFIG /ALL看看就知道了
回复

使用道具 举报

3#
 楼主| 发表于 2024-3-22 08:43:17 | 显示全部楼层
小歌 发表于 2024-3-18 08:55
不行,网络正常 ,就一个网卡,回车 检测完居然说没有网络。

要用IPconfig /all查看,而不是物理网卡只有1个,WINDOWS系统或者部分软件会自动安装虚拟网卡,有部分的杀毒软件也会自动生成虚拟网卡实现防火墙功能
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-22 13:58

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表