есть - ф-ция у Креатора,мне она очень понравилась.Но в чем проблема...
Код:
Func _FileSearch($sPath, $sMask="*")
If Not StringInStr(FileGetAttrib($sPath & "\"), "D") Then Return SetError(1, 0, 0)
Local $hSearch, $sFindNext, $sFilePath, $iPathIsFolder, $i = 0, $sRet = -1
Local $sRegExpFilter = StringReplace(StringReplace(StringReplace($sMask, ".", "\."), "*", ".*"), "?", ".")
Local $iMax_Ret_Paths = 10000
Local $aPathesArr[$iMax_Ret_Paths+1] = [1, $sPath]
While $i < $aPathesArr[0]
$i += 1
$hSearch = FileFindFirstFile($aPathesArr[$i] & "\*")
If $hSearch = -1 Then ContinueLoop
While 1
$sFindNext = FileFindNextFile($hSearch)
If @error Then ExitLoop
$sFilePath = $aPathesArr[$i] & "\" & $sFindNext
$iPathIsFolder = StringInStr(FileGetAttrib($sFilePath & "\"), "D")
If $iPathIsFolder Then
If $aPathesArr[0] >= $iMax_Ret_Paths Then
$iMax_Ret_Paths *= 2
ReDim $aPathesArr[$iMax_Ret_Paths+1]
EndIf
$aPathesArr[0] += 1
$aPathesArr[$aPathesArr[0]] = $sFilePath
ElseIf StringRegExp($sFindNext, "(?i)\A" & $sRegExpFilter & "\z") Then
$sRet = $sFilePath
ExitLoop
EndIf
WEnd
FileClose($hSearch)
If $sRet <> -1 Then ExitLoop
WEnd
Return SetError(Number($sRet = -1), 0, $sRet)
EndFunc
можно ли както сделать,чтобы ф-ция не останавливалась только на том файле,которая нашла и запоминала путь каждого файла?
для чего мне это : хочетса сделать архив,в котором будут все найдены файлы с полными путями.
потому что пока вот что получилось... :
Код:
FileCopy(_FileSearch("c:\","test.ini"),"c:\temp.ini")
$OF = ("c:\temp.ini")
_ZipAdd ("c:\temp.zip",$OF)
FileDelete ($OF)
но это не очень удачливо просто .
может ктото , чтото посоветует..)
,kkkkkkkk