本帖最后由 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[0]
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
|