手机
当前位置:查字典教程网 >脚本专栏 >DOS/BAT >DOS中判断进程是否存在的方法
DOS中判断进程是否存在的方法
摘要:检测进程是否存在,并做出预定动作。tasklist/nh>d:tddown~11.txtfind/i"QQ.exe"d:tddown~11....

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

tasklist/nh>d:tddown~11.txt

find/i"QQ.exe"d:tddown~11.txt

ifERRORLEVEL1(echoqq.exe不存在)else(echoqq.ex存在)

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

tasklist/nh|find/i"QQa.exe"

ifERRORLEVEL1(echoqqa.exe不存在)else(echoqqa.exe存在)

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

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

@echooff

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

taskkill/imqq.exe/f

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

@echooff

tasklist>C:a.txt

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

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

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

@echooff

:1

tasklist|find"notepad.exe">>c:notepad.luowei

ifexistc:notepad.luoweitaskkill/f/imnotepad.exe

ping127.1-n20>nul2>nul

goto1

检测explorer.exe进程

检测explorer.exe进程,发现有这个进程就退出,没有就从E盘复制一个到系统目录,再运行。

我系统经常进不去,发现就是被病毒发explorer.exe文件删了。

tasklist|find/i"explorer.exe"||copy/ye:driversexplorer.exe%systemroot%&&start/bexplorer.exe

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

@echooff

rem重启应该使用-r

tasklist|findstr/i"explorer.exe"||shutdown-r-t50

remwillsort斑竹说过,ping的第一条消息是不需要等待的,所以延时30秒,应该用-n31

ping127.1-n31>nul2>nul

rem不必使用循环,call一下自己就行了

call%0

检测系统的一个进程是否存在的脚本,如果不存在,就自动关机.

tasklist>tasklist.txt

rem进程名如smss.exe

find/itasklist.txt"进程名"

iferrorlevel1((del/qtasklist.txt)&(gotoend))

iferrorlevel0((del/qtasklist.txt)&(echo有你想要的进程)&pause&exit)

:end

shutdown-s-t1

不过这样只有这个bat运行一次检测一次,没有实时监控

用Goto语句做监测

:start

tasklist>tasklist.txt

find/itasklist.txt"Explorer.exe"

iferrorlevel1((del/qtasklist.txt)&(gotoend))

iferrorlevel0((gotostart))

:end

shutdown-s-t50

这样一来如果Explorer.exe进程,存在,就是死循环.

直到Explorer.exe进程结束,就执行关机命令.

但这样有个缺点CPU100%

检测多个特定进程

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

tasklist|for%%jin(1.exe,2.exe,3.exe)dofind"%%j"&&goto:p

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

---------

tasklist|findstr"1.exe2.exe3.exe"&&goto:p

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

---------

@echooff

set1.exe=被定义的程序

set2.exe=被定义的程序

set3.exe=被定义的程序

for/f"tokens=1"%%iin('tasklist/NH')do(

ifdefined%%iecho%%i

)

pause>nul

---------

检测和退出进程问题

AB两进程存在,若A不存在,则退出B。每隔N秒循环检测一次,退出B后,退出程序

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

列出当前运行的进程,可自定义说明内容,手动关闭进程。

可改良后自动判断处理进程。

@echooff

PATH=C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:ProgramFilesHPQIAMbin

title进程分析自定义结束进程程序

echo按任意键开始分析

pause>nul

setspace=

echo.

echo程序分析如下:

echo=========================================================================

echo.

echo进程名称进程说明

echo.

calltasklist.exe

::以下定义程序说明,自己可以补充。

setSystem=『系统进程』

setsmss.exe=『系统进程』调用对话管理子系统和负责操作你系统的对话

setcsrss.exe=『系统进程』管理Windows图形相关任务

setwinlogon.exe=『系统进程』

setservices.exe=『系统进程』管理启动和停止服务

setlsass.exe=『系统进程』用于本地安全和登陆策略

setsvchost.exe=『系统进程』用来运行动态链接库dll文件

setctfmon.exe=·提供语音识别、手写识别等

setconime.exe=·输入法编辑器相关程序

::主程序

setlocalenabledelayedexpansion

for/f"tokens=1"%%iin('tasklist/NH')do(

setstr=%%i%space%

setstr=!str:~0,20!

ifdefined%%i(echo!str!!%%i!)elseecho!str!‖根据进程自已输进程名)

echo=========================================================================

echo分析完毕...

:gototitle

title结束进程

set/prun=请输入要结束的程序名

::ntsd-cq-pn%run%

taskkill/f/t/im%run%

pause>nul先分析PID和进程。然后自定义结束

--------------------------------------------------------------------------------

当使用echo命令时,要显示管道(|)或重定向字符(<或>),请在管道(|)或重定向字符(例如,^>、^<或^|)的前面使用脱字符(^)。如果需要使用脱字符(^),请键入两个脱字符(^^)。

||

Usage:

第一条命令||第二条命令[||第三条命令...]

用这种方法可以同时执行多条命令,当碰到执行正确的命令后将不执行后面的命令,如果没有出现正确的命令则一直执行完所有命令;

Sample:

D:TDDownload>dir*.txt||ren1.txt3.txt&&dir*.txt

驱动器D中的卷是Application

卷的序列号是B445-F155

D:TDDownload的目录

2008-01-2615:352291.txt

2008-01-2615:352292.txt

2008-01-2615:35229第三只眼.txt

3个文件687字节

0个目录7,510,728,704可用字节

D:TDDownload>dir3.txt||ren1.txt3.txt&&dir*.txt

驱动器D中的卷是Application

卷的序列号是B445-F155

D:TDDownload的目录

找不到文件

驱动器D中的卷是Application

卷的序列号是B445-F155

D:TDDownload的目录

2008-01-2615:352292.txt

2008-01-2615:352293.txt

2008-01-2615:35229第三只眼.txt

3个文件687字节

0个目录7,510,728,704可用字节

D:TDDownload>

【DOS中判断进程是否存在的方法】相关文章:

在批处理文件中使用参数的方法

BAT与HTML混合编程写法

配置命令提示符的方法

DOS下对注册表的编程的方法

在远程计算机的CMD内下载FTP文件的方法

批处理的图形界面实现方法小结

写一个bat批处理文件启动windows进程和延时关闭的代码

一个简单的合并txt的批处理

DOS的启动过程详解分析

ANSI.SYS程序的使用方法

精品推荐
分类导航