中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求一个长PING一台服务器,如果PING不通则触发一个新的BAT
作者:
标题: 求一个长PING一台服务器,如果PING不通则触发一个新的BAT 上一主题 | 下一主题
kal1986
新手上路





积分 16
发帖 7
注册 2008-10-5
状态 离线
『楼 主』:  求一个长PING一台服务器,如果PING不通则触发一个新的BAT

现在情况是我需要一个BAT,完成长PING一台服务器,如果服务器死掉,或者掉电.PING就不通了, 这个BAT的功能就是如果出现5个包PING不通则触发一个新的BAT文件,如何实现呢,请高手帮助

2008-10-5 18:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hackate
中级用户





积分 228
发帖 125
注册 2008-8-25
状态 离线
『第 2 楼』:  

ping -n 5 192.168.1.1 >nul 2>nul
if %ERRORLEVEL% ==0 (
    echo PING得通
) else (
    echo PING不通
)

具体代码你再自己去加,

2008-10-5 18:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kal1986
新手上路





积分 16
发帖 7
注册 2008-10-5
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by hackate at 2008-10-5 18:44:
ping -n 5 192.168.1.1 >nul 2>nul
if %ERRORLEVEL% ==0 (
    echo PING得通
) else (
    echo PING不通
)

具体代码你再自己去加,

还是不明白.我PING的地址是10.100.86.200 需要长PING~~~如果PING中出现5次无法PING通就说明服务器出现问题.出现问题了就触发123.BAT 不触发就一直PING

2008-10-5 21:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  


@echo off
:loop
ping -n 1 10.100.86.200 >nul
if "%errorlevel%" neq "0" (
  set /a count+=1
)
echo %count%
if "%count%" equ "5" (
  set count=0
  start 123.bat
)
goto :loop




2008-10-5 21:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
kal1986
新手上路





积分 16
发帖 7
注册 2008-10-5
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by HAT at 2008-10-5 21:58:
[code]@echo off
:loop
ping -n 1 10.100.86.200 >nul
if "%errorlevel%" neq "0" (
  set /a count+=1
)
echo %count%
if "%count%" equ "5" (
  set count ...

高手你好,现在我测试了你提供的代码~但是我这里运行BAT显示的是ECHO处于关闭状态.不知道是什么原因.能否做到在PING的时候在CMD中显示PING的过程能,就是说PING 对我们是可见的.并且如果启动了新的BAT以后,就不需要再进行PING了

[ Last edited by kal1986 on 2008-10-5 at 22:24 ]

2008-10-5 22:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
landays
初级用户





积分 47
发帖 14
注册 2008-6-30
状态 离线
『第 6 楼』:  

把@echo off
改成@echo 不就好了?

2008-10-5 22:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kal1986
新手上路





积分 16
发帖 7
注册 2008-10-5
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by landays at 2008-10-5 22:28:
把@echo off
改成@echo 不就好了?

改了 就完全乱了

2008-10-5 23:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 8 楼』:  

代码保存为test.bat
双击运行
@echo off
:loop
ping -n 1 10.100.86.200
if "%errorlevel%" neq "0" (
  set /a count+=1
)
if "%count%" equ "5" (
  set count=0
  start 123.bat
)
goto :loop




2008-10-6 00:49
查看资料  发短消息 网志   编辑帖子  回复  引用回复
kal1986
新手上路





积分 16
发帖 7
注册 2008-10-5
状态 离线
『第 9 楼』:  

测试成功 谢谢

2008-10-6 01:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
kal1986
新手上路





积分 16
发帖 7
注册 2008-10-5
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by HAT at 2008-10-6 00:49:
代码保存为test.bat
双击运行
[code]@echo off
:loop
ping -n 1 10.100.86.200
if "%errorlevel%" neq "0" (
  set /a count+=1
)
if "%count%" equ "5&quo ...

但是现在我发现了个这样的问题~这个PING 不会清零啊 从上面的逻辑来看~我现在要达到的目的是 连续多少次不通才 启动新的BAT,如果叠加了的话,一天丢几个PING 很快就会触发这个BAT了

[ Last edited by kal1986 on 2008-10-7 at 18:19 ]

2008-10-7 18:17
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 11 楼』:  

有清零啊

  Quote:
@echo off
:loop
ping -n 1 10.100.86.200
if "%errorlevel%" neq "0" (
  set /a count+=1
)
if "%count%" equ "5" (
  set count=0
  start 123.bat
)
goto :loop





2008-10-7 20:19
查看资料  发短消息 网志   编辑帖子  回复  引用回复
kal1986
新手上路





积分 16
发帖 7
注册 2008-10-5
状态 离线
『第 12 楼』:  



  Quote:
Originally posted by HAT at 2008-10-7 20:19:
有清零啊

我是这样理解 这个的,因为如果一次PING不通就SET COUNT叠加1次.FOR LOOP
这不是就记数一次了  然后网络有正常了,又有次丢一个包 再叠加次 ,记数又+=1 1次,直到...这样5次后 清零 触发 新的BAT.........那么就被误报了运行新的BAT 哦祸 系统被切换了,结果这是不需要的.不知道我对这串代码的理解正确么.再次谢谢你

2008-10-8 08:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 13 楼』:  Re 11楼

Try this:
@echo off
:loop
ping -n 1 10.100.86.200
if "%errorlevel%" neq "0" (
  set /a count+=1
) else (
  set count=0
)
if "%count%" equ "5" (
  set count=0
  start 123.bat
)
goto :loop




2008-10-8 08:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: