• 欢迎访问奇跡の海网站,本站不上传任何资源,所有资源均来自于网络,欢迎加入奇跡の海~!奇跡の海-WordPress QQ群
  • 本站下载资源为网络上收集整理而来,并且以计算机技术研究交流为目的,版权归原作者所有,仅供大家参考,学习,不存在任何商业目的与商业用途.
  • 本站系统镜像均来自于官方原版,ed2k可视为P2P下载链接。所有操作系统默认均为试用版,如有正版密钥可以有效激活,本站不提供任何激活和相关服务。

批处理检测进程是否存在,并做出预定动作

批处理 奇跡の海 2年前 (2017-02-28) 471次浏览 已收录 0个评论 扫描二维码

检测进程是否存在,并做出预定动作。
先用tasklist 输入进程列表给find ,让find找出qq.exe进程,如果找到,那执行下面的结束操作,找不到就退出bat

批处理检测进程是否存在,并做出预定动作
——————————————————————————–

tasklist /nh>d:\tddown~1\1.txt
find /i "QQ.exe" d:\tddown~1\1.txt
if ERRORLEVEL 1 (echo qq.exe不存在) else (echo qq.ex存在)

————第二个——————————————————-

tasklist /nh|find /i "QQa.exe"
if ERRORLEVEL 1 (echo qqa.exe不存在) else (echo qqa.exe存在)

检查电脑里有没QQ.EXE进程,有则自动结束

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秒自动检测进程列表,自动关闭notepad.exe。
——————————————————————————–

@echo off
:1
tasklist | find "notepad.exe" >>c:\notepad.luowei
if exist c:\notepad.luowei taskkill /f /im notepad.exe 
ping 127.1 -n 20 >nul 2>nul
goto 1

检测explorer.exe进程
检测explorer.exe进程,发现有这个进程就退出,没有就从E盘复制一个到系统目录,再运行。
我系统经常进不去,发现就是被病毒发explorer.exe文件删了。
——————————————————————————–

tasklist|find /i "explorer.exe"||copy /y e:\drivers\explorer.exe %systemroot%\&&start /b explorer.exe

每30秒检测一个进程的运行,如果不存在电脑重启。
——————————————————————————–

@echo off
rem 重启应该使用-r
tasklist|findstr /i "explorer.exe" ||shutdown -r -t 50

rem willsort斑竹说过,ping的第一条消息是不需要等待的,所以延时30秒,应该用-n 31
ping 127.1 -n 31 >nul 2>nul
rem 不必使用循环,call一下自己就行了
call %0
检测系统的一个进程是否存在的脚本, 如果不存在,就自动关机.
——————————————————————————–

tasklist >tasklist.txt
rem 进程名如 smss.exe
find /i tasklist.txt "进程名" 
if errorlevel 1 ((del /q tasklist.txt)&(goto end))
if errorlevel 0 ((del /q tasklist.txt)&(echo 有你想要的进程)&pause&exit)
:end 
shutdown -s -t 1

不过这样只有这个bat运行一次检测一次,没有实时监控
用Goto 语句做 监测
——————————————————————————–

:start
tasklist >tasklist.txt
find /i tasklist.txt "Explorer.exe" 
if errorlevel 1 ((del /q tasklist.txt)&(goto end))
if errorlevel 0 ((goto start))
:end 
shutdown -s -t 50

这样一来 如果Explorer.exe 进程,存在, 就是死循环.
直到 Explorer.exe 进程结束, 就执行 关机命令.
但这样有个缺点 CPU 100%

检测多个特定进程

我想实现这样一个功能:用tasklist列出当前进程清单,然后用find来搜索进程中是否含有1.exe,2.exe,3.exe……(假设啊)如果清单中含有其中一个就执行某个操作。我想用FOR来实现循环可是怎么试也不行啊!!我是这样试的:

tasklist | for %%j in (1.exe,2.exe,3.exe) do find "%%j" && goto :p

find是不是不能用for啊?请高人指点。
——— —————————————————————-

tasklist | findstr "1.exe 2.exe 3.exe"&&goto :p

for不会接受传递自tasklist的数据,它是打in来定义的
——————————————————————————–

@echo off
set 1.exe=被定义的程序
set 2.exe=被定义的程序
set 3.exe=被定义的程序

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 "A.exe" ||(taskkill /im B.exe /t /f&exit)

列出当前运行的进程,可自定义说明内容,手动关闭进程。
可改良后自动判断处理进程。
——————————————————————————–

@echo off 
PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\HPQ\IAM\bin
title 进程分析自定义结束进程程序
echo 按任意键开始分析 
pause>nul
set space=                      
echo. 
echo 程序分析如下: 
echo 

=========================================================================

echo. 
echo 进程名称              进程说明 
echo.
call tasklist.exe 

::以下定义程序说明,自己可以补充。 
set System=『系统进程』 
set smss.exe=『系统进程』调用对话管理子系统和负责操作你系统的对话 
set csrss.exe=『系统进程』管理Windows图形相关任务 
set winlogon.exe=『系统进程』 
set services.exe=『系统进程』管理启动和停止服务 
set lsass.exe=『系统进程』用于本地安全和登陆策略 
set svchost.exe=『系统进程』用来运行动态链接库dll文件  
set ctfmon.exe=·提供语音识别、手写识别等 
set conime.exe=·输入法编辑器相关程序 

::主程序 
setlocal enabledelayedexpansion 
for /f "tokens=1" %%i in ('tasklist /NH') do ( 
set str=%%i %space% 
set str=!str:~0,20! 
if defined %%i (echo !str! !%%i!) else echo !str! ‖根据进程自已输进程名) 
echo ========================================================================= 
echo 分析完毕... 
:goto title
title 结束进程
set /p run=请输入要结束的程序名 
::ntsd -c q -pn %run%
taskkill /f /t /im   %run% 
pause>nul       先分析PID和进程。然后自定义结束

版权声明:本站所有文章和资源使用CC BY-NC-SA 4.0协议授权发布 , 转载应当以相同方式注明文章来自“SeaOMC.COM->批处理检测进程是否存在,并做出预定动作!在下边可以分享本文哦!
喜欢 (0)
[]
分享 (0)
奇跡の海
关于作者:
一个WordPress菜鸟!
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址