Board logo

标题: [文件操作] [已解决]批处理怎样每3分钟检测某进程运行数量小于2个时,重启EXE! [打印本页]

作者: 滴血雄鹰    时间: 2020-8-12 10:06     标题: [已解决]批处理怎样每3分钟检测某进程运行数量小于2个时,重启EXE!

想要找一个批处理:每隔3分钟检测某进程(如qq.exe)运行数量小于3个时,重启qq.exe!

找到下面的批处理,用不了:
  1. @echo Off & setlocal Enabledelayedexpansion
  2. mode 65,15
  3. :main
  4. set times=
  5. set exes=
  6. set file_step=
  7. set times=1
  8. set "exes=QQ.exe"
  9. :steps
  10. set/a times-=1
  11. for /l %%a in (60 -1 0) do (
  12. cls& echo.& echo  还剩下 !times! 分 %%a 秒后检测进程, 请等待..
  13. timeout /t 1 /nobreak>nul)
  14. if !times!==0 (goto starts) else goto steps
  15. :starts
  16. del $ & >>$ (tasklist) & >>$1 (findstr "!exes!" "$") & move $1 $ & cls
  17. for /f "delims=" %%a in ($) do set/a file_step+=1
  18. if !file_step! leq 3 (
  19. taskkill /f /im "!exes!"
  20. start qq.exe
  21. ) else goto main
复制代码
测试了下,出错,$ 不是内部或外部命令?

用批处理写一个 每30分钟可以检测某进程运行数量 当小于2个时杀掉该进程  原贴地址:https://zhidao.baidu.com/question/2269402646007267228.html
作者: Batcher    时间: 2020-8-12 11:55

回复 1# 滴血雄鹰


试试 Q-04 的方法:
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ
作者: 滴血雄鹰    时间: 2020-8-12 12:48

回复 2# Batcher


    只能解决乱码的问题,代码问题无法解决。找了另外一个代码,解决了!
作者: ivor    时间: 2020-8-13 08:42

  1. powershell "while ($true){if ((Get-Process -Name qq ).count -le 2) {Stop-Process -Name qq;Start-Process qq};sleep (3*60)}"
复制代码





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