【已解决】(全盘搜索并删除指定文件) -- [已解决 !]
本帖最后由 Huiseyu 于 2014-11-25 21:04 编辑电脑感染了病毒,能够搜索到的被感染文件,光目录就有十几兆,求解
病毒已经没有,还剩下无数个_desktop.ini .....有办法删么 善用搜索~ 搞定一切~ 帮助里的例子不就有吗? 这个应该比较简单吧 楼主,如果你想搜索文件,删除的话,Everything 有现成的SDK,你可以用Everything的SDK来做搜索,然后删除。 不过,我还是建议你老老实实的杀毒吧。 回复 5# MicroBlue
杀了,残余,每个目录子目录还有个_desktop.ini. 看着蛋疼 回复 2# austere
我当然是搜不到,自己搞不定才发问。 回复 3# sunkiss
帮助里面找不到啊,全盘搜索指定文件,并删除? 回复 8# Huiseyu
你一定要帮助里直接搜索全盘吗?
你先枚举盘符 然后开循环 历遍每个盘符不就行了? 前来学习。。。。。。。。。。。。 回复 9# header
看样子要出杀手锏了, 其实我不得不告诉你菜鸟需要帮助,给个例子吧。 我用dos ,dir查找出来的desktop.ini 放入文本足足十几兆。 5楼正解,,用Everything,,秒搜。
如果是我的话,我还是比较喜欢重做系统。。干净啊。 回复 12# Authree
好吧,好吧,我说句是服务器上面。 回复 13# Huiseyu
网络共享盘。 本帖最后由 sunkiss 于 2014-11-24 06:52 编辑
回复 11# Huiseyu
看看帮助的例子。;=============================
;例子2:递归查找当前目录及其子目录下的所有文件
;=============================
FindAllFile(@ScriptDir)
Func FindAllFile($sDir)
Local $hSearch = FileFindFirstFile($sDir & "\*.*")
; 检查搜索是否成功
If $hSearch = -1 Then Return
While 1
Local $sFile = FileFindNextFile($hSearch)
If @error Then ExitLoop
If @extended Then
FindAllFile($sDir & "\" & $sFile)
ContinueLoop
EndIf
FileWriteLine("找到的文件.txt",$sDir & "\" & $sFile)
WEnd
; 关闭搜索句柄
FileClose($hSearch)
EndFunc
稍加修改就行了。Local $Drives = DriveGetDrive("all")
If Not @error Then
For $i = 1 To $Drives
FindAllFile(StringUpper($Drives[$i]),"_desktop.ini")
Next
EndIf
;=============================
;例子2:递归查找当前目录及其子目录下的所有文件
;=============================
Func FindAllFile($sDir,$FName)
Local $hSearch = FileFindFirstFile($sDir & "\*.*")
; 检查搜索是否成功
If $hSearch = -1 Then Return
While 1
Local $sFile = FileFindNextFile($hSearch)
If @error Then ExitLoop
If @extended Then
FindAllFile($sDir & "\" & $sFile,$FName)
ContinueLoop
EndIf
If $sFile = $FName Then
FileSetAttrib ($sDir & "\" & $sFile, "-RASH")
FileDelete ($sDir & "\" & $sFile)
EndIf
WEnd
; 关闭搜索句柄
FileClose($hSearch)
EndFunc ;==>FindAllFile
页:
[1]
2