找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 20998|回复: 6

[系统相关] [已解决]批处理怎么实现连续ping一个ip,不通则自动关机

[复制链接]
发表于 2021-12-17 21:51:28 | 显示全部楼层 |阅读模式
本帖最后由 522235677 于 2021-12-18 15:26 编辑

因为服务器上接了UPS,停电后不好自动执行自动关机,所以想到这个方法。曾经小弟我写这么简单的功能,都是手到擒来的,如今多年不接触批处理,这么简单的功能都写不出来了……老了……
就想连续ping,如果1分钟内连续ping不通指定的IP,或者说连续ping60次都不通,就执行shutdown关机命令。

最后,感谢大佬们的帮助
发表于 2021-12-17 22:07:44 | 显示全部楼层
回复 1# 522235677
  1. @echo off
  2. ping -n 60 192.168.0.123
  3. if errorlevel 1 (
  4.     shutdown /s /f /t 0
  5. )
复制代码
 楼主| 发表于 2021-12-18 10:00:41 | 显示全部楼层
回复 2# Batcher


    感谢老大帮忙,但是我测试发现,如果ping 60次全部都是“请求超时”的话,那errorlevel 就是1,但是实际返回的是“无法访问目标主机”,这样就识别不了了

正在 Ping 192.168.10.144 具有 32 字节的数据:
来自 192.168.10.220 的回复: 无法访问目标主机。
来自 192.168.10.220 的回复: 无法访问目标主机。
来自 192.168.10.220 的回复: 无法访问目标主机。
发表于 2021-12-18 12:07:35 | 显示全部楼层
if not errorlevel 0   也可以吧
 楼主| 发表于 2021-12-18 14:50:54 | 显示全部楼层
回复 4# zhaolu133


    不行哦,ping通 或者  无法访问目标主机
%errorlevel% 都是 0
发表于 2021-12-18 15:06:12 | 显示全部楼层
只要ping成功一次就不关机
  1. @echo off
  2. for /l %%i in (1,1,60) do (
  3.         ping /n 1 192.168.10.220 | findstr /i ttl && ( echo success %%i & goto :e )
  4.         echo failed %%i
  5. )
  6. shutdown /s /t 0
  7. :e
  8. pause&exit
复制代码
 楼主| 发表于 2021-12-18 15:24:31 | 显示全部楼层
回复 6# went


    感谢大佬帮助,我也写了个土方法
  1. @echo off & title ping 群晖,不通则关机
  2. mode con cols=60 lines=10
  3. :loop
  4. ping -n 3 192.168.10.230|findstr /i /c:"来自 192.168.10.230 的回复"
  5. if errorlevel 1 (
  6.     shutdown -s
  7.     pause
  8.     exit
  9. )
  10. goto :loop
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 17:56 , Processed in 0.031149 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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