中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-12 01:34
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [整理]批处理检测进程是否存在,并做出预定动作。 查看 3,104 回复 13
楼 主 [整理]批处理检测进程是否存在,并做出预定动作。 发表于 2008-02-29 15:15 ·  中国 浙江 温州 电信
初级用户
★★
积分 170
发帖 83
注册 2007-11-30 16:44
18年会员
UID 104263
性别 男
状态 离线
检测进程是否存在,并做出预定动作。
http://www.cn-dos.net/forum/viewthread.php?tid=38018

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进程,有则自动结束
http://www.cn-dos.net/forum/viewthread.php?tid=37918

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。
http://www.cn-dos.net/forum/viewthread.php?tid=22267

@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进程
http://www.cn-dos.net/forum/viewthread.php?tid=36526
检测explorer.exe进程,发现有这个进程就退出,没有就从E盘复制一个到系统目录,再运行。
我系统经常进不去,发现就是被病毒发explorer.exe文件删了。

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



每30秒检测一个进程的运行,如果不存在电脑重启。
http://www.cn-dos.net/forum/viewthread.php?tid=31759

@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



检测系统的一个进程是否存在的脚本, 如果不存在,就自动关机.
http://www.cn-dos.net/forum/viewthread.php?tid=22861

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%


检测多个特定进程
http://www.cn-dos.net/forum/viewthread.php?tid=27743
我想实现这样一个功能:用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
---------


检测和退出进程问题
http://www.cn-dos.net/forum/viewthread.php?tid=25357
A B 两进程存在,若A不存在,则退出B。每隔N秒循环检测一次,退出B后,退出程序

tasklist|findstr /i "A.exe" ||(taskkill /im B.exe /t /f&exit)


列出当前运行的进程,可自定义说明内容,手动关闭进程。
可改良后自动判断处理进程。
http://www.cn-dos.net/forum/viewthread.php?tid=27405

@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和进程。然后自定义结束



http://www.loverat.cn/topic.asp?TOPIC_ID=1211
本帖最近评分记录 (共 3 条) 点击查看详情
评分人分数时间
lxmxn +8 2008-02-29 18:48
moniuming +2 2008-03-01 21:00
kyqm +2 2009-11-18 21:10
2 发表于 2008-03-01 02:47 ·  中国 浙江 杭州 电信
初级用户
九州散人
积分 55
发帖 28
注册 2007-09-14 07:49
18年会员
UID 97342
性别 男
状态 离线
不怎么懂哦
3 发表于 2008-03-01 19:19 ·  中国 河北 邯郸 联通
新手上路
积分 7
发帖 4
注册 2006-05-03 13:01
20年会员
UID 54876
状态 离线
学到了点东西,感谢。
4 发表于 2008-03-01 20:57 ·  中国 广西 百色 中移铁通
银牌会员
★★★
永远的菜鸟
积分 1,335
发帖 574
注册 2007-11-27 12:50
18年会员
UID 103929
性别 男
来自 广西
状态 离线
好东西,不过,真不希望居心不良的人看到这个帖子
5 发表于 2008-03-02 02:34 ·  中国 广西 南宁 电信
新手上路
积分 10
发帖 5
注册 2007-06-04 19:36
19年会员
UID 90251
性别 男
状态 离线
新人报道,进来学学~
6 发表于 2008-03-04 17:10 ·  中国 福建 福州 联通
高级用户
★★
积分 581
发帖 277
注册 2006-12-23 05:10
19年会员
UID 74328
性别 男
状态 离线
这个东西强悍啊 有点怕怕的
7 发表于 2008-03-04 22:41 ·  中国 江西 南昌 电信
中级用户
★★
积分 245
发帖 123
注册 2007-06-08 09:04
19年会员
UID 90636
性别 女
状态 离线
学习了
8 发表于 2008-03-06 14:38 ·  中国 广东 珠海 电信
新手上路
积分 4
发帖 2
注册 2007-07-25 19:46
19年会员
UID 94029
性别 男
状态 离线
这东西很不错....
弄下来慢慢学习...
9 发表于 2008-03-06 14:59 ·  中国 辽宁 朝阳 联通
铂金会员
★★★★
痴迷DOS者
积分 5,798
发帖 1,924
注册 2003-06-20 00:00
23年会员
UID 5583
性别 男
来自 金獅電腦軟體工作室
状态 离线
吐个泡···
熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境!
金狮電腦軟體工作室愿竭诚为您服务!
QQ群:8393170(定期清理不发言者)
个人网站:http://www.520269.cn
电子邮件:doujiehui@vip.qq.com
微信公众号: doujiehui
10 发表于 2009-05-27 01:29 ·  中国 浙江 杭州 电信
银牌会员
★★
三生缘里笑红尘
积分 1,063
发帖 292
注册 2003-03-09 00:00
23年会员
UID 1073
性别 男
状态 离线
很有用啊
11 发表于 2009-05-27 13:29 ·  中国 吉林 延边朝鲜族自治州 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039
发帖 897
注册 2009-03-01 15:34
17年会员
UID 140302
性别 男
来自 在地狱中仰望天堂
状态 离线
为楼主补充一点:
对于启动explorer.exe,推荐使用start explorer.exe
否则将无法自动关闭批处理窗口
12 发表于 2009-05-27 21:41 ·  中国 山东 泰安 新泰市 联通
新手上路
积分 16
发帖 9
注册 2009-05-26 23:25
17年会员
UID 146033
性别 男
状态 离线
这个帖子还是非常的实用的,支持一下楼主。
13 发表于 2009-05-28 08:19 ·  中国 广东 广州 广东金万邦科技投资有限公司(新一代数据中心)IDC机房(BGP)
初级用户
积分 68
发帖 36
注册 2006-12-19 09:47
19年会员
UID 73948
性别 男
状态 离线
学习中 .
14 发表于 2009-06-05 01:52 ·  中国 湖南 长沙 电信
社区乞丐
积分 -31
发帖 32
注册 2009-03-12 08:41
17年会员
UID 141109
性别 男
状态 离线
看不懂啊,天书啊
论坛跳转: