标题: [文件操作] [已解决]批处理怎样每3分钟检测某进程运行数量小于2个时,重启EXE! [打印本页]
作者: 滴血雄鹰 时间: 2020-8-12 10:06 标题: [已解决]批处理怎样每3分钟检测某进程运行数量小于2个时,重启EXE!
想要找一个批处理:每隔3分钟检测某进程(如qq.exe)运行数量小于3个时,重启qq.exe!
找到下面的批处理,用不了:- @echo Off & setlocal Enabledelayedexpansion
- mode 65,15
- :main
- set times=
- set exes=
- set file_step=
- set times=1
- set "exes=QQ.exe"
- :steps
- set/a times-=1
- for /l %%a in (60 -1 0) do (
- cls& echo.& echo 还剩下 !times! 分 %%a 秒后检测进程, 请等待..
- timeout /t 1 /nobreak>nul)
- if !times!==0 (goto starts) else goto steps
- :starts
- del $ & >>$ (tasklist) & >>$1 (findstr "!exes!" "$") & move $1 $ & cls
- for /f "delims=" %%a in ($) do set/a file_step+=1
- if !file_step! leq 3 (
- taskkill /f /im "!exes!"
- start qq.exe
-
- ) 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
- 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 |