找回密码
 加入
搜索
查看: 5089|回复: 19

[AU3基础] 查找某文件,并结束该目录的所有进程

 火.. [复制链接]
发表于 2011-10-10 20:57:38 | 显示全部楼层 |阅读模式
查找C盘中的dydq.ico,并结束这个文件夹内的所有exe程序的进程

因为dydq.ico这个文件所在的目录是随机的,每次开机都会生成新的目录,所以要先查找它在哪个目录生成,然后再结束掉该目录的所有进程。
发表于 2011-10-10 21:07:08 | 显示全部楼层
总是在C盘的一级目录中吗?如果是就简单了。
 楼主| 发表于 2011-10-10 21:14:56 | 显示全部楼层
回复 1# xymc


C:\WINDOWS\system32\xxx 这个目录里面的一个文件夹
发表于 2011-10-10 22:12:24 | 显示全部楼层
不知道能不能满足你的要求?

[code]#include <file.[code]#include <file.au3>
#include <array.au3>
$FolderList = _FileListToArray("C:\windows\system32",'*',2) ;列出system32下所有文件夹
If Not @error Then
        For $i = 1 To $FolderList[0]
                $FileExistResult = FileExists("c:\windows\system32\"&$FolderList[$i]&"\dydq.ico") ; 检查是否存在dydq.ico这个文件
                If $FileExistResult = 1 Then    ;如果存在
                        $ExeFilelist = _FileListToArray("c:\windows\system32\"&$FolderList[$i], "*.exe",1) ;列出所有可执行文件
                        If Not @error Then
                                For $j = 1 To $ExeFilelist[0]
                                        ProcessClose($ExeFilelist[$j])  ;结束进程
                                Next
                        EndIf
                EndIf
        Next
EndIf
发表于 2011-10-10 22:12:46 | 显示全部楼层
这个嘛,应该不难,循环一下就行了!
发表于 2011-10-10 22:29:49 | 显示全部楼层
本帖最后由 gzh888666 于 2011-10-10 22:30 编辑

4楼的正解! 可以已解决了,
如果还需要递归子目录。func 调用函数本身就可以了!
不过这个目录里很多都是系统进程呀!你结束了就完蛋了!
发表于 2011-10-11 12:35:03 | 显示全部楼层
回复 6# gzh888666
楼主说那个目录是每次开机自己生成的应该问题不大
 楼主| 发表于 2011-10-11 20:28:38 | 显示全部楼层
回复 4# xms77


    运行直接退出了
发表于 2011-10-11 20:36:53 | 显示全部楼层
看一下ProcessClose的返回值,也有可能进程保护!
 楼主| 发表于 2011-10-11 20:38:12 | 显示全部楼层
回复 6# gzh888666


如图所示,先要找到dydq.ico这个文件在C:\WINDOWS\system32\wins这个目录里面,然后结束掉这个目录里面的exe程序进程(就1个exe,得是随机的进程名,文件名每次都不一样)
发表于 2011-10-11 20:40:05 | 显示全部楼层
回复 8# xymc
代码运行完就会退出的,关键是有没有达到你的目的
发表于 2011-10-11 20:41:01 | 显示全部楼层
4楼的代码就可以实现。ProcessClose的返回值查看一下。
发表于 2011-10-11 21:32:31 | 显示全部楼层
回复 10# xymc
你的意思是指那个exe执行后产生一个随机的进程名吗?怎么还能这样啊,太流氓了!
发表于 2011-10-11 21:34:06 | 显示全部楼层
回复 10# xymc
你看一下能不能手动删除那个exe文件,会不会报错?
 楼主| 发表于 2011-10-11 23:42:39 | 显示全部楼层
本帖最后由 xymc 于 2011-10-11 23:43 编辑

回复 11# xms77


    没有达到目的,我试过用ProcessClose(进程名)是可以结束的那个进程(任务管理器不能结束,但au3这个命令可以结束)
但由于是随机进程,所以我只能先查找dydq.ico这个文件,然后结束该目录下的exe程序进程
结束后当然可以删除
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-15 14:25 , Processed in 0.088711 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表