. : : ClassiClub ForuM : : .

会员中心 论坛帮助 日历事件 标记论坛已读
返回   精品技术论坛 » 技术论坛 » 『软件使用』

『软件使用』: 电脑软件推荐, 电脑软件使用, 经验分享



发表新主题 关闭主题
 
主题工具
Fire
 
Fire 的头像
支柱会员
 
资 料:
注册日期: Mar 2000
帖子: 6,033 声望值: 4
精华: 0,解答: 16
#1 旧 2009-10-27, 23:06:31 默认 【已解决】ping不通持续1分钟就跑一个cmd.
Fire 当前离线  

情况:

有个设备在网络上.支持ping响应

需求:

要求发现ping不通的情况延续1分钟,去call一个cmd

有没有啥办法用批处理解决?


如果一次timeout,我有办法做..

比如

tart
ping www.whatever.com - n 20 | find "Request timed out." && (
call time.bat
)
goto start


我需要持续nn个Request timed out.比如说半/一分钟都是timeout

此帖于 2009-10-29 10:38:54 被 Fire 编辑. . 原因: 解决了


爱可不可以不说?
ccainiao
 
ccainiao 的头像
高级会员
 
资 料:
注册日期: Sep 2002
帖子: 1,006 声望值: 3
精华: 9,解答: 15
#2 旧 2009-10-28, 00:27:48 默认
ccainiao 当前离线  

可以考虑反过来:如果nn个ping中有1个能通就重新ping,否则运行time.bat,参考以下代码:
:start
for /F "usebackq tokens=1" %%i in (`ping www.whatever.com -n 20`) do @if "%%i"=="Reply" goto start
call time.bat
goto start
chinester
 
chinester 的头像
核心会员
 
资 料:
注册日期: Oct 2001
帖子: 3,013 声望值: 3
精华: 2,解答: 31
#3 旧 2009-10-28, 02:40:42 默认
chinester 当前离线  

其实 AUTOIT 可以很方便的


代码:
$ttl=0
For $i = 0 to 99999 Step +1
  $var = Ping($THOST,1000)
  If $var Then ; 
   $ttl=0;
   Else
    $ttl=$ttl+1;
    EndIf
  if $ttl>30 then
   RUN(.........)
   endif
  sleep(1000)
next


你太有才了.- -|
发表新主题 关闭主题

主题工具

论坛规则  发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子
论坛启用 vB 代码
版面启用 表情符号
版面启用 [IMG] 代码
版面禁用 HTML 代码


所有时间均为北京时间, 现在的时间是 07:19:10.

本论坛带宽由迅通网络提供
SSL证书由TrustAsia提供

Copyright © 2000 - 2019 ClassiClub Forum All Rights Reserved.
粤ICP备09123456号