标题: [系统相关] 批处理如何根据网络状况允许(第一个求助帖)? [打印本页]
作者: lostwolf 时间: 2013-3-19 09:03 标题: 批处理如何根据网络状况允许(第一个求助帖)?
- @echo off
- :ping
- ping 61.135.169.105
- IF ERRORLEVEL 1 GOTO kill
- IF ERRORLEVEL 0 GOTO start
-
- :start
- start calc.exe
- ping 61.135.169.105
- IF ERRORLEVEL 1 GOTO kill
- IF ERRORLEVEL 0 GOTO ping
-
- :kill
- taskkill -f -im calc.exe
- @ping -n 2 61.135.169.105
- IF ERRORLEVEL 1 GOTO kill
- IF ERRORLEVEL 0 GOTO start
复制代码
思索半天未能解决
还是发到bathome 来了
上面的代码写得有问题
想实现个功能 如果网络 顺畅 就执行 一次calc.exe
如果网络不顺畅 就kill 掉该进程
不允许存在 两个 或多个该进程
继续探测网络状况
如果顺畅了 延时 5分钟 继续 执行 calc.exe
整个批处理一直循环下去
作者: BAT-VBS 时间: 2013-3-19 10:21
- @echo off
- :ping
- ping 61.135.169.105 && goto :kill
-
- :start
- start calc.exe
- rem 具体时间请自己调整
- ping -n 60 61.135.169.105
-
- :kill
- taskkill -f -im calc.exe
- rem 具体时间请自己调整
- ping -n 10 61.135.169.105
- goto :ping
复制代码
作者: lostwolf 时间: 2013-3-19 10:39
本帖最后由 lostwolf 于 2013-3-19 23:52 编辑
- @echo off
- :top
- ping -n 1 -l 1 61.135.169.105
- IF ERRORLEVEL 1 GOTO kill
- IF ERRORLEVEL 0 GOTO start
-
- :start
- TaskList|Findstr /i "cain.exe"
- If ErrorLevel 1 (
- start cain.exe
- )
- goto top
-
- :kill
- TaskList|Findstr /i "cain.exe"
- If ErrorLevel 0 (
- taskkill /f -im cain.exe
- ping 127.0.1 -n 10 -l 1
- )
- goto top
复制代码
这个如何?
作者: Marks 时间: 2013-3-19 11:36
回复 3# lostwolf
不怎么样
没有延时,cpu狂飙到100%
TaskList|Findstr /i "calc.exe" 检测进程不准确,有可能误判
作者: lostwolf 时间: 2013-3-19 23:11
回复 4# Marks
求优化的 占系统资源少的
判断准确 且 不用 ping作为 延时的
作者: lostwolf 时间: 2013-3-19 23:19
继续求优化
作者: lostwolf 时间: 2013-3-19 23:30
求改进啊。
作者: Batcher 时间: 2013-3-19 23:45
回复 7# lostwolf
可以考虑放到任务计划里面每分钟执行一次
作者: lostwolf 时间: 2013-3-19 23:54
回复 4# Marks
那用什么方式检测进程
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |