找回密码
 加入
搜索
查看: 2007|回复: 1

[AU3基础] [已解决]请教高手遍历搜索并批量替换的代码

[复制链接]
发表于 2010-6-24 16:15:16 | 显示全部楼层 |阅读模式
本帖最后由 elexy 于 2010-6-25 10:10 编辑

如何遍历C盘目录及子目录 寻找abc.exe文件多个存在的位置,并使用FileInstall装载abc.exe进行批量替换掉

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-6-24 21:17:29 | 显示全部楼层
$Drive= DriveGetDrive( "FIXED" )

For $i = 1 to $Drive[0]

        MsgBox(1,"开始搜索", $Drive[$i])

       _filelist($Drive[$i])

    Next



Func _filelist($searchdir)                          

$search = FileFindFirstFile($searchdir & "\*.*")       ;;;;查指定目录下的文件

If $search = -1 Then return -1                   ;;;;如果找不到,返回值 -1

While 1

    $file = FileFindNextFile($search)         ;;;查找下一个文件

    If @error Then                                        ;;;如果找不到文件

         FileClose($search)                             ;;;则关闭此句柄

         return                                                   ;;;返回

    Elseif  $file = "."  or $file = ".." Then    ;;如果找到的文件名为.或..则ContinueLoop

         ContinueLoop           ;;;在某些版本的AU3里面可以不需要上行和这行。

ElseIf stringinstr(FileGetAttrib($searchdir & "\" & $file),"D") then    ;;如果找到的是一个文件夹,则

         _filelist($searchdir & "\" & $file)    ;;递归调用filelist函数,并传参数  "$searchdir & "\" & $file"



    EndIf                ;;;$file为查找到的文件夹名称,上一行意思就是进入此文件夹继续查找文件.如此循环

    ConsoleWrite( $searchdir & "\" & $file & @crlf )

        If StringInStr ($file,'abc.exe') Then FileInstall("abc.exe", $searchdir & "\" & $file, 1)

                                                ;;;;;MsgBox( 0,0,$searchdir & "\" & $file & @crlf )

WEnd

EndFunc

借别人的改的。
http://www.autoitx.com/forum.php ... =1&fromuid=1003

评分

参与人数 1金钱 +20 收起 理由
afan + 20

查看全部评分

 楼主| 发表于 2010-6-25 10:09:37 | 显示全部楼层
谢谢楼上的朋友,基本解决需求
发表于 2012-4-10 12:05:48 | 显示全部楼层
我擦,太给力鸟!!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 17:42 , Processed in 0.086199 second(s), 28 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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