DOS中判断进程是否存在的方法
检测进程是否存在,并做出预定动作。
tasklist /nh>d:tddown~1
find /i "" d:tddown~1
if ERRORLEVEL 1 (echo 不存在) else (echo 存在)
------------第二个-----------
tasklist /nh|find /i ""
if ERRORLEVEL 1 (echo 不存在) else (echo 存在)
检查电脑里有没进程,有则自动结束
a)、先用tasklist 输入进程列表给find ,让find找出进程,如果找到,那执行下面的结束操作,找不到就退出bat
@echo off
tasklist|find /i "" ||exit
taskkill /im /f
b)、把进程列表放在A文档里面然后再用FIND查找代码:
@echo off
tasklist>C:
find "" C:&&taskkill /f /im ""
c)、如果不是要循环监控的话,直接taskkill。。。反正最终目的是不要有QQ进程。
每隔20秒自动检测进程列表,自动关闭。
@echo off
:1
tasklist | find "" >>c:ei
if exist c:ei taskkill /f /im
ping 127.1 -n 20 >nul 2>nul
goto 1
检测进程
检测进程,发现有这个进程就退出,没有就从E盘复制一个到系统目录,再运行。
我系统经常进不去,发现就是被病毒发文件删了。
tasklist|find /i ""||copy /y e:drivers %systemroot%&&start /b
每30秒检测一个进程的运行,如果不存在电脑重启。
@echo off
rem 重启应该使用-r
tasklist|findstr /i "" ||shutdown -r -t 50
rem willsort斑竹说过,ping的第一条消息是不需要等待的,所以延时30秒,应该用-n 31
ping 127.1 -n 31 >nul 2>nul
rem 不必使用循环,call一下自己就行了
call %0
检测系统的一个进程是否存在的脚本, 如果不存在,就自动关机.
tasklist >
rem 进程名如
find /i "进程名"
if errorlevel 1 ((del /q )&(goto end))
if errorlevel 0 ((del /q )&(echo 有你想要的进程)&pause&exit)
:end
shutdown -s -t 1
不过这样只有这个bat运行一次检测一次,没有实时监控
用Goto 语句做 监测
:start
tasklist >
find /i ""
if errorlevel 1 ((del /q )&(goto end))
if errorlevel 0 ((goto start))
:end
shutdown -s -t 50
这样一来 如果 进程,存在, 就是死循环.
直到 进程结束, 就执行 关机命令.
但这样有个缺点 CPU 100%
检测多个特定进程
我想实现这样一个功能:用tasklist列出当前进程清单,然后用find来搜索进程中是否含有,,......(假设啊)如果清单中含有其中一个就执行某个操作。我想用FOR来实现循环可是怎么试也不行啊!!我是这样试的:
tasklist | for %%j in (,,) do find "%%j" && goto :p
find是不是不能用for啊?请高人指点。
---------
tasklist | findstr " "&&goto :p
for不会接受传递自tasklist的数据,它是打in来定义的
---------
@echo off
set =被定义的程序
set =被定义的程序
set =被定义的程序
for /f "tokens=1" %%i in ('tasklist /NH') do (
if defined %%i echo %%i
)
pause>nul
---------
检测和退出进程问题
A B 两进程存在,若A不存在,则退出B。每隔N秒循环检测一次,退出B后,退出程序
tasklist|findstr /i "" ||(taskkill /im /t /f&exit)
列出当前运行的.进程,可自定义说明内容,手动关闭进程。
可改良后自动判断处理进程。
@echo off
PATH=C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:Program FilesHPQIAMbin
title 进程分析自定义结束进程程序
echo 按任意键开始分析
pause>nul
set space=
echo.
echo 程序分析如下: