源码简介
许多在系统中的恶意或推广文件十分烦人,查找有不容易,而且开机自动安装。以下代码及时枚举盘符,查找文件,并执行删除
源码
#Region ;**** 参数创建于 ACNWrapper_GUI **** #PRE_icon=C:\Windows\syswow64\SHELL32.dll|-132 #PRE_Outfile=D:\Users\Miracles\Desktop\TG1.exe #PRE_UseUpx=n #PRE_UseX64=n #PRE_Res_requestedExecutionLevel=None #EndRegion ;**** 参数创建于 ACNWrapper_GUI **** #include <array.au3> #include <file.au3> Local $Number=0 Local $a_Files[1] Local $a_TempDrivers Local $a_TempFolders Local $a_TempFiles ;枚举硬盘 $a_TempDrivers=DriveGetDrive("FIXED") If IsArray($a_TempDrivers) Then ;~ _ArrayDisplay($a_TempDrivers) Local $i For $i=1 To UBound($a_TempDrivers)-1 ;若硬盘可用 If DriveStatus ($a_TempDrivers[$i])="READY" Then ;枚举该盘下的一级子目录 $a_TempFolders=_FileListToArray($a_TempDrivers[$i],"*",2) If IsArray($a_TempFolders) Then Local $j For $j=1 To UBound($a_TempFolders)-1 ;枚举子目录下的exe文件 $a_TempFiles=_FileListToArray($a_TempDrivers[$i]&"\"&$a_TempFolders[$j],"*.vbs",1) If IsArray($a_TempFiles) Then ;添加到数组$a_TempFiles Local $k For $k=1 To UBound($a_TempFiles)-1 $Number+=1 ReDim $a_Files[$Number+1] $a_Files[$Number]=$a_TempDrivers[$i]&"\"&$a_TempFolders[$j]&"\"&$a_TempFiles[$k] Next EndIf Next EndIf EndIf Next EndIf ; _ArrayDisplay($a_Files) Local $i For $i=1 To UBound($a_Files)-1 ;MsgBox(4096,"1213",$a_Files[$i]) ; If StringInStr($a_Files[$i],"qqpcmgr_v12.6.18848.203_120000290_1.exe") Then ;Run($a_Files[$i]) ;执行 ;MsgBox(4096,"1213",$a_Files[$i]) ; $Filepathtg = StringReplace($a_Files[$i], "qqpcmgr_v12.6.18848.203_120000290_1.exe", "") ;从获得的进程全名中去掉后缀名 .exe ;MsgBox(4096,"1213",$Filepathtg) ;FileDelete ( $a_Files[$i] ) ;DirRemove($Filepathtg,1) ; EndIf If StringInStr(FileRead($a_Files[$i]),"2345Explorer_227975_silence") Then ;Run($a_Files[$i]) ;执行 ;MsgBox(4096,"1213",$a_Files[$i]) ;$file = "temp.txt" $CountLines = _FileCountLines($a_Files[$i]) $line = FileReadLine($a_Files[$i],$CountLines-1) ;MsgBox(1,1,$line) $txt1='set sFolder=objFso.getfolder("' $txt2='")' $Filepathtg = StringReplace($line, $txt1, "") ;从获得的进程全名中去掉后缀名 .exe ;MsgBox(1,1,$Filepathtg) $Filepathtg2 = StringReplace($Filepathtg, $txt2, "\") ;从获得的进程全名中去掉后缀名 .exe ;MsgBox(1,1,$Filepathtg2) ; $Filepathtg = StringReplace($a_Files[$i], "qqpcmgr_v12.6.18848.203_120000290_1.exe", "") ;从获得的进程全名中去掉后缀名 .exe ;MsgBox(4096,"1213",$Filepathtg) FileDelete ( $a_Files[$i] ) DirRemove($Filepathtg2,1) EndIf Next