批处理 如何检测某个程序是否在运行

批处理 如何检测某个程序是否在运行,第1张

bat是解释脚本,所以运行时并不是bat本身在运行,而是它的解释器cmd.exe在运行。您这个思路应该不行。

有一个折衷的办法,就是b.bat在运行开始写一句@echo A>runlog.txt,在结尾在握乎写一句@echo Z>runlog.txt。

您检测的批处理可以循环读取runlog.txt的内容,直接腔棚写

@if exist runlog.txt (

@set /p runcheck=<runlog.txt

@if %runcheck%==A (

@echo b.bat在运段圆悉行

) else (

@echo b.bat未运行

)

) else (

@echo b.bat位运行

)

a)、先用tasklist 输入进程列表给find ,让find找出qq.exe进程,如果找到,那执行下面的结束 *** 作,找不到就退出bat

@echo off

tasklist|find /i "qq.exe" ||exit

taskkill /im qq.exe /f

b)、芹纳把进程列表放在A文档里面然后再用FIND查找代码:

@echo off

tasklist>C:\a.txt

find "QQ.exe" C:\a.txt&&taskkill /f /im "QQ.exe"

c)、如果不是要循环监控的话,直册段接taskkill。。。反正最终目的是不要有QQ进程。

每隔20秒自动检测进程列表,自动关闭QQ.exe。

@echo off

:1

tasklist | find "QQ.exe" >>嫌姿没c:\1.TXT

if exist c:\\1.TXT taskkill /f /im QQ.exe

ping 127.1 -n 20 >nul 2>nul

goto 1

代码宽岩磨如下:

盘符路径改成1.exe文件所在的地方,比如D:\1.exe

@echo off

:loop

tasklist | find /i "1.exe"&&echo  [ %time:~,-3% ]存在进程QQ.exe||start "" "盘符路径:\1.exe"

ping -n 10 127.1>慎斗枣升nul

goto :loop


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12423526.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存