• 批处理ping不通则声音报警


    PING批处理,ping不通则报警一声,并导出到一个TXT中,通的不导出
    假如PING一百个IP 10.168.0.1————10.168.0.100,可能有20个不通
    不通的报警一声,并导出到同一个TXT中能实现吗?

    自定义ip文件为 ip.txt 导出文件为log.txt
    ip文件格式: 1行1个IP
    @echo off
    mode con cols=14 lines=4
    echo Working...
    for /f "delims=" %%i in (ip.txt) do (ping %%i)|find "TTL">nul||(echo %%i>>log.txt)&&call :warn
    goto :eof
    :warn
    mshta vbscript:createobject("sapi.spvoice").speak("get one")(window.close)
    其中末行中的"get one" 为你想发出的声音 可自行修改。



    连续IP
    @echo off
    (for /l %%i in (1,1,100) do ping -n 1 10.168.0.%%i||echo 10.168.0.%%i 不通)>不通.txt
    少量不连续IP
    @echo off
    set #1=10.168.0.1
    set #2=10.168.0.14
    set #3=10.168.0.50
    set #4=10.168.1.200
    (for /f "tokens=2 delims==" %%i in ('set #') do ping -n 1 %%i||echo 10.168.0.%%i 不通)>不通.txt
    大量不连续IP,每个IP一行,写到IP.txt文本文件里
    @echo off
    (for /f "tokens=*" %%i in (ip.txt) do ping -n 1 %%i||echo 10.168.0.%%i 不通)>不通.txt



    @echo off
    for /l %%i in (1,1,100) do (ping 10.168.0.%%i | find "TTL" || (echo &echo 不通 10.168.0.%%i>>ABC.txt))
    追问:请问我要自定义IP,该怎么做,因为我的IP不是连续性的
    追答:
    @echo off
    for %%i in (1,2,30,35,50,51,56,100) do (ping -n 1 10.168.0.%%i | find "TTL" || (echo &echo 不通 10.168.0.%%i>>ABC.txt))

    出处:https://zhidao.baidu.com/question/475472694.html

    =======================================================================================

    批处理PING某个IP地址,若网络中断则提示报警?

    很多人都会遇到需要ping一个网段,看哪些IP地址有在使用的情况,网上下载的一些群PING软件要么杀毒软件报毒,要么显示结果每次不一样,于是我综合了网上各种批处理Ping命令后,自己整理了一个批处理,希望能帮助到有需要的朋友,下面我先演示使用过程,最后给出批处理代码。
    1、双击运行批处理文件,会弹出一个命令窗口,要求输入IP段,如果不输入,直接按回车的话,则默认为192.168.16段。
    这里我输入我的路由分配的IP段,192.168.3并按回车
    2、接着会要求输入IP地址起始位,如果不输入,直接按回车的话,则默认为1。
    我这里我输入10
    3、最后会要求输入IP地址结束位,如果不输入,直接按回车的话,则默认为255。
    我这里我输入40
    4、开始扫描,会显示起始和结束IP地址,以确认之前没有输入错误。运行的时候不会有其他提示,如果不许要等待完成,可以直接关闭窗口以提前结束本次扫描。
    5、扫描完成后,按任意键退出,窗口会自动关闭。
    6、在批处理命令文件所在的文件夹,会生成对应的文本文件,里面就有本次扫描的结果(仅记录有通的结果)
    7、以下为批处理的代码全文,将其保存在文本文件中,把文本文件的后缀txt替换成bat即可。

    @echo  off
    color F0
    rem 设置窗口背景色为白色, 文宇颜色为黑色
    title 批处理扫网段(By Tao Ge)
    rem 设置窗口标题
    echo.
    echo 输入你要扫描的IP段, 直接按回车则为192.168.16set /p IpDuan=
        rem 将用户输入赋值给Ip Duan变量
        if "%IpDuan%"="" (set IpDuan=192.168.16)
        rem 判断IpDuan变量是否赋值, 如果为空, 则赋信为192.168.16
    echo 输入你要扫描的IP起始位, 直接按回车则为1:
        set /p QiShi=
        rem 将用户输入赋值给QiShi变量
        if "%QiShi%"=="" (set QiShi=1)
        rem 判断QiShi变量是否赋值, 如果为空, 则赋值为1
    echo 输入你要扫描的IP结束位, 直接按回车则为255:
        set /p JieShu=
        rem 将用户输入赋值给JieShu变量
        if "%JieShu%"="" (set JieShu=255)
        rem 判断JieShu变量是否赋值, 如果为空, 则赋值为255
        
    echo 起始IP:%IpDuan%.%QiShi%
    rem 显示起始工P
    echo 结束IP:%IpDuan%.%JieShu%
    rem 显示结束IP
    echo ==================================================== >>Ping-%IpDuan%.txt
    rem 记录分割线
    echo 开始时间:%date% %time% >>Ping-%IpDuan%.txt
    rem 记录开始时间
    echo 起始IP:%IpDuan%.%QiShi% >>Ping-%IpDuan%.txt
    rem 记录起始IP
    echo 结束IP:%IpDuan%.%JieShu% >>Ping-%IpDuan%.txt
    rem 记录结束IP
    echo 正在扫描, 请等待...
    echo 提前结束请直接关闭窗口
    @for /l %%n(%QiShi%,1,%JieShu%) do @ping -w 600 -n 1 %IpDuan%.%%n|find /i "ttl" >>Ping-%IpDuan%.txt
    rem 开始执行
    echo 结束时间:%date% %time% >>Ping-%IpDuan%.txt
    rem 记录结束时间
    echo ==================================================== >>Ping-%IpDuan%.txt
    rem 记录分割线
    echo 扫描完毕, 按任意键退出...&pause>nul

    8、最后声明一下,本批处理是本人大量查阅了各种批处理命令后综合出来的,欢迎大家交流斧正。
    9、另外,这个批处理中没有对输入的值进行判断,所以如果你随便输入的话,则不能正常运行并记录结果,切记切记。

    出处:https://www.zhihu.com/question/363815267

    =======================================================================================

    批处理ping,不通则弹出MsgBox提示

    “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
    复制代码

    出处:https://www.cnblogs.com/rainbow70626/p/7481378.html

    =======================================================================================

    个人使用

    一、检查网络连通性

    我需要监控某个服务器,是否宕机了,需要长时间ping这个服务器,如果不通,则发出警报声。

    @echo off&setlocal enabledelayedexpansion
    cls
    set ip=192.168.1.1
    echo Working...
    
    for /l %%i in (1,1,99999) do (set ttl=
        ping -w 1000 -n 1 %ip% | find /i "ttl" && set ttl=1
        if not defined ttl (
            echo ping %ip% Error......
            echo 
            ping 127.1 -n 2 >nul
        ) else (
            ping -n 2 127.1 >nul
        )
    )
    
    pause
  • 相关阅读:
    MyBatis学习之简单增删改查操作、MyBatis存储过程、MyBatis分页、MyBatis一对一、MyBatis一对多
    最简单的mybatis增删改查样例
    JAVA地址栏重写很详细
    rapid-generator JAVA代码生成器
    PouchDB:可随时同步的开源JavaScript数据库
    写给java web一年左右工作经验的人
    使用 XMLBeans 进行编程
    使用Spring JMS轻松实现异步消息传递
    Spring JMSTemplate 与 JMS 原生API比较
    浅析深究什么是中间件
  • 原文地址:https://www.cnblogs.com/mq0036/p/16330826.html
Copyright © 2020-2023  润新知