[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 批处理如何根据网络状况允许(第一个求助帖)?

  1. @echo off
  2. :ping
  3. ping 61.135.169.105
  4. IF ERRORLEVEL 1 GOTO kill
  5. IF ERRORLEVEL 0 GOTO start
  6. :start
  7. start calc.exe
  8. ping 61.135.169.105
  9. IF ERRORLEVEL 1 GOTO kill
  10. IF ERRORLEVEL 0 GOTO ping
  11. :kill
  12. taskkill -f -im calc.exe
  13. @ping -n 2 61.135.169.105
  14. IF ERRORLEVEL 1 GOTO kill
  15. IF ERRORLEVEL 0 GOTO start
复制代码
思索半天未能解决
还是发到bathome 来了

上面的代码写得有问题

想实现个功能 如果网络 顺畅 就执行 一次calc.exe
如果网络不顺畅 就kill 掉该进程

不允许存在 两个 或多个该进程
继续探测网络状况
如果顺畅了 延时 5分钟 继续 执行 calc.exe

整个批处理一直循环下去

回复 4# Marks


    那用什么方式检测进程

TOP

回复 7# lostwolf


可以考虑放到任务计划里面每分钟执行一次
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

求改进啊。

TOP

继续求优化

TOP

回复 4# Marks


    求优化的 占系统资源少的
    判断准确 且 不用 ping作为 延时的

TOP

回复 3# lostwolf


    不怎么样

没有延时,cpu狂飙到100%
TaskList|Findstr /i "calc.exe" 检测进程不准确,有可能误判

TOP

本帖最后由 lostwolf 于 2013-3-19 23:52 编辑
  1.     @echo off
  2.     :top
  3.     ping -n 1 -l 1 61.135.169.105
  4.     IF ERRORLEVEL 1 GOTO kill
  5.     IF ERRORLEVEL 0 GOTO start
  6.     :start
  7.     TaskList|Findstr /i "cain.exe"
  8.     If ErrorLevel 1 (
  9.     start cain.exe
  10.     )
  11.     goto top
  12.     :kill
  13.     TaskList|Findstr /i "cain.exe"
  14.     If ErrorLevel 0 (
  15.     taskkill /f -im cain.exe
  16.     ping 127.0.1 -n 10 -l 1
  17.     )
  18.     goto top
复制代码
这个如何?

TOP

  1. @echo off
  2. :ping
  3. ping 61.135.169.105 && goto :kill
  4. :start
  5. start calc.exe
  6. rem 具体时间请自己调整
  7. ping -n 60 61.135.169.105
  8. :kill
  9. taskkill -f -im calc.exe
  10. rem 具体时间请自己调整
  11. ping -n 10 61.135.169.105
  12. goto :ping
复制代码

TOP

返回列表