Board logo

标题: [网络连接] 【已解决】 用PING命令去检测远端机器是否在线的批处理怎么写? [打印本页]

作者: lion991128    时间: 2015-7-13 12:47     标题: 【已解决】 用PING命令去检测远端机器是否在线的批处理怎么写?

本帖最后由 lion991128 于 2015-7-15 10:29 编辑

我想用PING的命令去检测远端机器是否在线,每2个小时检测一遍,如果能PING通则不做什么操作,等待下次循环,如果远端机掉线 则出现MESSAGE的提示框 说明该主机已近掉线。。。。请教下这个应该怎么写啊???
作者: kingshui    时间: 2015-7-13 14:41

本帖最后由 kingshui 于 2015-7-13 14:48 编辑
  1. ping -n 1 -l 1 -f -w 1 -4 192.168.1.1|find "TTL" || echo 不在线
复制代码
循环的话……。用计划任务吧?哈哈。反正我不需要循环。或者ping自己足够的秒数再回头……
作者: ann    时间: 2015-7-13 22:45

直接pingIP能检测是否在线吗?隔20min的话用计划任务吧,隔20min调用检测批处理
作者: lion991128    时间: 2015-7-14 00:32

我的设想是做成进程在进程里面用ping 127地址去计算时间
作者: lion991128    时间: 2015-7-14 00:47

bat 能用IF ELSE去做判断吗?
作者: lion991128    时间: 2015-7-14 00:49

本帖最后由 lion991128 于 2015-7-14 00:51 编辑
  1. @echo off
  2. :0
  3. if
  4. ping 192.168.1.2|find "TTL" || cls&echo MsgBox "没有网络",26,"提示">.vbs
  5. goto 0
  6. else
  7. start "" /wait .vbs
  8. echo wscript.sleep 10000>.vbs
  9. cls &echo 10秒延时中……
  10. start "" /wait .vbs
  11. goto 0
复制代码
我是想如果我用一个PING的值作为判断如果是在不通的情况可以填出提示框我点击确认后继续返回到0标签。通的话往下走最后还是返回到0标签,怎么做呢??
作者: lion991128    时间: 2015-7-15 10:28

谢谢大家帮助, 我自己已经解决。附上代码大家共享交流下。

思路比较简单,首先去对内网的1.2的机器做一个PING然后在返回里面判断有没有“无法访问目标主机”这个字眼,当然如果是英文系统的话就需要改一下,然后在跳出一个msg box告知自己机器已经掉线。然后900秒的延时,写出日志。
  1. @echo off
  2. :0
  3. ping /n 1 "192.168.1.2"|findstr "无法访问目标主机">nul&&mshta vbscript:msgbox("请注意Server不在线上,请开启!",64,"警告!!!")(window.close)
  4. ping /n 900 127.0.0.1>nul
  5. echo %date% %time%监视系统正常运行!!>>C:\Users\Administrator\Desktop\监控日志.txt
  6. goto 0
复制代码

作者: jxdalon    时间: 2015-7-24 13:55

学习了。。。。。。。。。。。。。。。。。。。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2