Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Есть ещё вариант с обработкой файлов и построением списка FileInstall'ов:

Код: Выделить весь код
$sRet_FI_Lines = _FileInstallGetFolder("C:\Temp", "D:\Dest", 0, "*.txt")
ConsoleWrite("+Return:" & @CRLF & $sRet_FI_Lines & @CRLF & @CRLF & "!Error = " & @error & @CRLF & @CRLF)

MsgBox(64, "Return #1:", $sRet_FI_Lines & @CRLF & @CRLF & "!Error = " & @error)

$sRet_FI_Lines = _FileInstallGetFolder(@ProgramFilesDir & "\AutoIt3", "$aDest[$i]", 1, "*.exe")
ConsoleWrite("+Return:" & @CRLF & $sRet_FI_Lines & @CRLF & @CRLF & "!Error = " & @error & @CRLF & @CRLF)

MsgBox(64, "Return #2:", $sRet_FI_Lines & @CRLF & @CRLF & "!Error = " & @error)

Func _FileInstallGetFolder($sSource, $sDest, $nFlag = 0, $sMask = "*", $nCompiled = False)
    Local $hSearch, $sNext_File, $sRet_FI_Lines = ""

    If (Not $nCompiled) Or ($nCompiled And @Compiled) Then
        $hSearch = FileFindFirstFile($sSource & "\" & $sMask)
        If $hSearch = -1 Then Return SetError(1, 0, "")

        ;Check if it's a $Var (or $Array[$i][N]...)
        Local $iAddAsVar = StringRegExp($sDest, "(?i)\A\$([0-9a-z_])+(\[(\$[0-9a-z_]+|\d+)+\]+|)+$")

        While 1
            $sNext_File = FileFindNextFile($hSearch)
            If @error Then ExitLoop ;No more files

            If $iAddAsVar Then
                $sRet_FI_Lines &= 'FileInstall("' & $sSource & '\' & $sNext_File & '", ' & _
                    $sDest & ' & "\' & $sNext_File & '", ' & $nFlag & ')' & @CRLF
            Else
                $sRet_FI_Lines &= 'FileInstall("' & $sSource & '\' & $sNext_File & '", "' & _
                    $sDest & '\' & $sNext_File & '", ' & $nFlag & ')' & @CRLF
            EndIf
        WEnd

        FileClose($hSearch)
    EndIf

    If $sRet_FI_Lines = "" Then Return SetError(2, 0, "")
    Return StringStripWS($sRet_FI_Lines, 3)
EndFunc

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Последний раз редактировалось Creat0R, 27-07-2009 в 21:03.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:41, 27-07-2009 | #12