“ping某个IP地址,如果ping不通则在dos窗口或弹出MsgBox提示原因”的批处理bat命令

“ping某个IP地址,如果ping不通则在dos窗口提示原因”的批处理bat命令

复制代码
@echo off&setlocal enabledelayedexpansion
title Ping检测批处理
mode con cols=88 lines=5&color 0a
::设置要ping的ip地址
set ip=192.168.0.105

::设置要ping的次数
set num=3

echo,&echo 正在对 %ip% 进行 Ping检测,总检测次数为 %num% 次,请耐心等待。。。
set count=%num%
for /l %%a in (1,1,%num%) do (
    title 正在进行第 %%a 次 Ping检测。。。
    ping 127.1 -n "2">nul
    for /f "tokens=4 delims== " %%b in ('ping %ip% -n "1" ^| findstr /c:"平均"') do set ms=%%b
    if not defined ms (
        echo 第 %%a 次 ping 检测失败。
        set /a count-=1
    ) else (
        set /a pms+=!ms:~,-2!
    )
)
cls&echo,&echo 本次 Ping 检测记录了 !count! 次数据,正在计算平均值,请稍等。。。
if not defined pms set msg=网络连接超时,请联系网络管理员。&goto End
set /a ms=!pms!/!count!
if %ms% leq 50 set msg=网络良好。如果还是卡,请联系网络运营商客服反馈。&goto End
if %ms% geq 60 set msg=网络延迟,请联系网络管理员。&goto End
exit
:End
if !count! lss %num% (
    set /a TO=!num!-!count!
    set color=color 0c
    set timeout=(警告:此次检测有 !TO! 次连接超时。)
) else (
    set color=color 0a
)

title Ping检测 -- 检测结果(共检测 %num% 次)
ping 127.1 -n "4">nul
cls&%color%&echo,&echo %msg%%timeout%
echo,&echo 请按任意键退出脚本。
pause>nul&exit
复制代码

“ping某个IP地址,如果ping不通则弹出MsgBox提示原因”的批处理bat命令

复制代码
@echo off&setlocal enabledelayedexpansion
title Ping检测批处理
mode con cols=88 lines=5&color 0a
::设置要ping的ip地址
set ip=192.168.0.104

::设置要ping的次数
set num=3

echo,&echo 正在对 %ip% 进行 Ping检测,总检测次数为 %num% 次,请耐心等待。。。
set count=%num%
for /l %%a in (1,1,%num%) do (
    title 正在进行第 %%a 次 Ping检测。。。
    ping 127.1 -n "2">nul
    for /f "tokens=4 delims== " %%b in ('ping %ip% -n "1" ^| findstr /c:"平均"') do set ms=%%b
    if not defined ms (
        echo 第 %%a 次 ping 检测失败。
        set /a count-=1
    ) else (
        set /a pms+=!ms:~,-2!
    )
)
cls&echo,&echo 本次 Ping 检测记录了 !count! 次数据,正在计算平均值,请稍等。。。
if not defined pms echo msgbox "网络连接超时,请联系网络管理员。",64,"提示">alert.vbs && start alert.vbs && ping -n 2 127.1>nul && del alert.vbs &goto End
set /a ms=!pms!/!count!
if %ms% leq 50 set msg=网络良好。如果还是卡,请联系网络运营商客服反馈。 &goto End
if %ms% geq 60 echo msgbox "网络延迟,请联系网络管理员。",64,"提示">alert.vbs && start alert.vbs && ping -n 2 127.1>nul && del alert.vbs &goto End
exit
:End
if !count! lss %num% (
    set /a TO=!num!-!count!
    set color=color 0c
    set timeout=(警告:此次检测有 !TO! 次连接超时。)
) else (
    set color=color 0a
)

title Ping检测 -- 检测结果(共检测 %num% 次)
ping 127.1 -n "4">nul
cls&%color%&echo,&echo %msg%%timeout%
echo,&echo 请按任意键退出脚本。
pause>nul&exit
复制代码

 

posted @   rainbow70626  阅读(1156)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2016-09-05 .NET性能调优之一:ANTS Performance Profiler的使用
2015-09-05 [连载]Tutorial series: learning how to write a 3D soft engine from scratch in C#, TypeScript or JavaScript[英]
2015-09-05 关于VS2010 C#使用DirectX的问题[英]
点击右上角即可分享
微信分享提示