ViSiToR
Silver Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору RwR Цитата: это не мешает его переименовывать | Иногда мешает Maza Faka Цитата: как сделать, что бы искал, так же и во вложенных каталогах? | Подобно тому как поиск пустых каталогов, только проверять файлы ... Код: #include <Array.au3> $Results = _FileFind("d:\trash", "txt") _ArrayDisplay($Results) Func _FileFind($sPath, $Ext, $Flag=0) Local $RetPathArr[1], $FindNextFile, $CurrentPath, $SubDirFindArr If StringInStr($Ext, "*") Then $Ext = StringReplace($Ext, "*.", "") While StringRight($sPath, 1) = "\" $sPath = StringTrimRight($sPath, 1) WEnd Local $FindFirstFile = FileFindFirstFile($sPath & "\*.*") If @error = 1 Then Return SetError(1, 0, -1) While 1 $FindNextFile = FileFindNextFile($FindFirstFile) If @error = 1 Then ExitLoop $CurrentPath = $sPath & "\" & $FindNextFile If $Flag = 1 And StringInStr(FileGetAttrib($CurrentPath), "D") Then $SubDirFindArr = _FileFind($CurrentPath, $Ext, $Flag) If IsArray($SubDirFindArr) Then For $i = 1 To UBound($SubDirFindArr)-1 ReDim $RetPathArr[UBound($RetPathArr)+1] $RetPathArr[UBound($RetPathArr)-1] = $SubDirFindArr[$i] Next EndIf Else If StringTrimLeft($CurrentPath, StringInStr($CurrentPath, ".", 0, -1)) = $Ext Or $FindNextFile = $Ext Then ReDim $RetPathArr[UBound($RetPathArr)+1] $RetPathArr[UBound($RetPathArr)-1] = $CurrentPath EndIf EndIf WEnd FileClose($FindFirstFile) $RetPathArr[0] = UBound($RetPathArr)-1 Return $RetPathArr EndFunc |
---------- ViSiToR a.k.a CreatoR CreatoR это не ник, CreatoR это стиль жизни! |
| Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 12:07 06-07-2007 | Исправлено: ViSiToR, 12:27 06-07-2007 |
|