Русское сообщество AutoIt

  • Февраль 23, 2012, 00:14:20 *
  • Добро пожаловать, Гость
Пожалуйста, войдите или зарегистрируйтесь.

Войти
Расширенный поиск  

Новости:

На форуме было сделано несколько небольших изменений...

1) Расширено поле поиска, теперь можно выбрать, искать в текущей теме, текущем разделе, по всему форуму, или с помощью Google.

2) Новым участникам форума (до 20-ти сообщении) над формой создания новой темы отображается информационный блок с некоторыми правилами и рекомендациями по созданию новой темы.

17.07.2010

* Реклама

Автор Тема: [Автоматизация] Комплексное преобразование файлов, двумя программами последовательно  (Прочитано 472 раз)

0 Пользователей и 1 Гость смотрят эту тему.

Tosyk [?]

  • Новичок
  • *
  • Репутация: 0
  • Offline Offline
  • Сообщений: 47
  • Версия AutoIt: 3.3.6.1
    • Награды
сейчас пишу более сложный скрипт преобразования файлов. Он состоит из двух частей:
1. Дампинг файлов. Уже обсуждали эту часть и я добился успехов в процессе чтения форума. Вот что проиходит:
Mafia2ModelDumper.exe ФАЙЛ.РАСШИРЕНИЕВ качестве РАСШИРЕНИЯ в первом этапе выступает раширение *.sds. В результате получаются несколько файлов *.dae (иногда очень много, несколько сотен). Вот мой скрипт для этого (работает отлично):
как видно в процессе участвуют ещё и несколько необходимых dll, выполнение происходит в системном темпе, а далее полученные файлы переносятся в папку со скриптом (для второго этапа учтено что файлы пока что находятся там куда происходит дампинг, т.е. в системном темпе). Полученные файлы *.dae являются промежуточными. Они нужны для второго этапа.
2. Конвертирование полученных *.dae. Происходит таким образом:
mesh2rdm.exe ИСХОДНЫЙ_ФАЙЛ.РАСШИРЕНИЕ КОНЕЧНЫЙ_ФАЙЛ.РАСШИРЕНИЕ -flipuv -scale 100 -nopause -rotate 0 180 0в качестве РАШИРЕНИЯ может быть любой поддерживаемый тип, в данном примере во втором этапе используется расширение .dae как для исходного так и для конечного файлов.
После конвертирования полученные файлы *.dae имеют почти вдвое уменьшенный размер и должны быть скопированы/перемещены туда где расплагаются изначальные файлы *.sds, которые участвуют в дампинге из первого этапа. Для конвертирования я написал отдельный скрипт, который должен искать файлы по маске (*.dae) в системном темпе и конвертировать их. Но он этого не делает:
В идеале это должен быть один скрипт, в котором есть функции для получения файлов, дампинга файлов, конвертирования файлов и перемещения файлов в исходный каталог.
Загвоздка состоит во втором этапе, в котором не могу понять как снова получить файлы .dae и передать их для конвертирования функции.




  Записан

madmasles [?]

  • Модератор
  • *
  • *****
  • Репутация: 1336
  • Online Online
  • Пол: Мужской
  • Сообщений: 3487
  • Версия AutoIt: 3.3.6.1 - 3.3.8.1
    • Награды
Tosyk,
Попробуйте сначала получить файлы dae в массив, а потом их по очереди конвертировать.
Код: AutoIt [Выделить]
;...
$sDir = @TempDir & '\_TempM2Models' ;папка, в которую ранее файлы распаковали
$aFileDae = _FileSearch($sDir, '*.dae', 1)
If Not @error Then
    _Convert($aFileDae);в функции пути поменяйте
    ConsoleWrite(@error & @LF)
EndIf

;CreatoR, http://autoit-script.ru/index.php/topic,8266.msg55775
Func _FileSearch($sPath, $sFileMask = "*", $iFlag = 0, $iSubDir = 1, $iSort = 0)
    Local $sOutBin, $sOut, $aOut, $sRead, $hDir, $sAttrib, $sFiles

    If Not StringInStr(FileGetAttrib($sPath), "D") Then
        Return SetError(1, 0, 0)
    EndIf
    If $iSubDir = 1 Then
        $sAttrib &= ' /S'
    EndIf
    If $iSort = 1 Then
        $sAttrib &= ' /O:N'
    EndIf
    Switch $iFlag
        Case 1
            $sAttrib &= ' /A-D'
        Case 2
            $sAttrib &= ' /AD'
        Case Else
            $sAttrib &= ' /A'
    EndSwitch
    $sOut = StringToBinary('0' & @CRLF, 2)
    $sPath = StringRegExpReplace($sPath, '\\+$', '')
    $sFileMask = StringRegExpReplace($sFileMask, '^;+|;+$', '')
    $sFileMask = StringRegExpReplace($sFileMask, ';{2,}', ';')
    $aMasks = StringSplit($sFileMask, ';')
    For $i = 1 To $aMasks[0]
        If StringStripWS($aMasks[$i], 8) = "" Then
            ContinueLoop
        EndIf
        $sFiles &= '"' & $sPath & '\' & $aMasks[$i] & '"'

        If $i < $aMasks[0] Then
            $sFiles &= ';'
        EndIf
    Next
    $hDir = Run(@ComSpec & ' /U /C DIR ' & $sFiles & ' /B' & $sAttrib, @SystemDir, @SW_HIDE, 6)
    While 1
        $sRead = StdoutRead($hDir, False, True)
        If @error Then
            ExitLoop
        EndIf
        If $sRead <> "" Then
            $sOut &= $sRead
        EndIf
    WEnd
    $aOut = StringRegExp(BinaryToString($sOut, 2), '[^\r\n]+', 3)
    If @error Or UBound($aOut) < 2 Then
        Return SetError(2, 0, 0)
    EndIf
    $aOut[0] = UBound($aOut) - 1
    Return $aOut
EndFunc   ;==>_FileSearch
Имена распакованных файлов можно получить заранее при распаковке Mafia2ModelDumper.exe - он их в консоль пишет.
« Последнее редактирование: Январь 25, 2012, 12:06:02 от madmasles »



  Записан

Tosyk [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 0
  • Offline Offline
  • Сообщений: 47
  • Версия AutoIt: 3.3.6.1
    • Награды
madmasles
спасибо, как я понимаю этот кусок вставляется после моего первого скрипта, но я понял только строчек 9. Можно ли как то упростить скрипт? Я правда хочу научиться, не могу же я просить объяснить мне каждую строку!

В вашем скрипте не увидел такой строчки:
mesh2rdm.exe ИСХОДНЫЙ_ФАЙЛ.РАСШИРЕНИЕ КОНЕЧНЫЙ_ФАЙЛ.РАСШИРЕНИЕ -flipuv -scale 100 -nopause -rotate 0 180 0
и если файлы будут всегда находиться по одному пути, в данном случае
Код: AutoIt [Выделить]
@TempDir & '\_TempM2Models'
то ну правда для чего такие сложности?




  Записан

Tosyk [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 0
  • Offline Offline
  • Сообщений: 47
  • Версия AutoIt: 3.3.6.1
    • Награды
Помогите пожалуйста со скриптом.




  Записан

EqKeeper [?]

  • Новичок
  • *
  • Репутация: 1
  • Offline Offline
  • Сообщений: 29
  • Версия AutoIt: 3.3.6.1
    • Награды
Очень много букв и отсутствие желания писать за тебя скрипт удерживают от "идеального варианта". Впрочем, учитывая, что ты осилил дампинг, думаю, совместить пару скриптов тебе будет не сложно. И если проблема стоит только в поиске файлов, то вот, держи и наслаждайся:
Код: AutoIt [Выделить]
; ========================================================================================
; Возвращает список файлов / папок в указанном каталоге, отвечающих переданным параметрам
; ----------------------------------------------------------------------------------------
; root - корневой каталог поиска, н.п. C:\Windows
; masks - маски для поиска, разделенные ;
; type - что ищем: 0 - файлы и папки, 1 - только файлы, 2 - только папки
; recurse - если true, поиск также будет проведен в подкатологах
; filereg_exclude - регулярные выражения, резделенные ;, совпадающие с ними имена файлов будут исключены из списка
; folders_exlcude - имена каталогов, в которых не будет проводиться поиск
; fullpath - если true в итоговом массиве будут храниться полные пути файлов, иначе - только имена
; ----------------------------------------------------------------------------------------
; Возвращает: $array[0] - количество найденных файлов
;             $array[1...n] - файл\папка
;===============================================================================
Func GetFileList($root, $masks = "*.*", $type = 0, $recurse = False, $filereg_exclude = "", $folders_exlcude = "", $fullpath = True)

    ; Убираем все слеши в конце пути и добавляем 1, правильный
    $root = StringRegExpReplace($root, "[\\/]+\z", "") & "\"

    ; Проверяем существует ли путь
    If Not FileExists($root) Then Return SetError(1, 1, 0)

    ; Проверяем маски на наличие недопустимых символов, убираем пробелы между разделителями
    If StringRegExp($masks, "[/:><\|]") Then Return SetError(2, 2, 0)

    ; Удаляем пробелы между разделителями и дублирующиеся разделители
    $masks = StringRegExpReplace($masks, "\s*;\s*", ";")
    $masks = StringRegExpReplace($masks, ";{2,}", ";")
    If StringStripWS($masks, 8) = "" Then Return SetError(2, 2, 0)

    ; Коррекция параметров
    If $type == 1 Then
        $type = ":-d"
    ElseIf $type == 2 Then
        $type = ":D"
    Else
        $type = ""
    EndIf

    If $recurse Then
        $recurse = "/s "
    Else
        $recurse = ""
    EndIf

    ; Собираем строку поиска
    Local $masks_array = StringSplit($masks, ";"), $find_string = ""
    For $i = 1 To $masks_array[0]
        If StringRegExp($masks_array[$i], "^\..*?\..*?\z") Then
            $masks_array[$i] &= "*" & $masks_array[$i]
        EndIf
        $find_string &= '"' & $root & $masks_array[$i] & '" '
    Next
    $find_string = StringTrimRight($find_string, 1) ; Удаляем последний пробел
    If $find_string = "" Then $find_string = '"' & $root & '*.*"'

    ; Запуск поиска и формирование списка файлов
    $cmd_result = ""
    $pid = Run(@ComSpec & " /c dir /b " & $recurse & "/a" & $type & " " & $find_string, "", @SW_HIDE, 4 + 2)
    While 1
        $stdout = StdoutRead($pid)
        If @error Then ExitLoop
        $cmd_result &= _WinAPI_OemToChar($stdout)
    WEnd
    $cmd_result = StringRegExpReplace($cmd_result, "\v+\z", "")
    If Not $cmd_result Then Return SetError(4, 4, 0)

    Local $a_fsplit = StringSplit(StringStripCR($cmd_result), @LF), $s_hold_ret

    For $i = 1 To $a_fsplit[0]
        If StringRegExp($a_fsplit[$i], "^[\wА-Яа-я]:[\\/]+") = 0 Then $a_fsplit[$i] = $root & $a_fsplit[$i]
        If $fullpath Then
            $s_hold_ret &= $a_fsplit[$i] & Chr(1)
        Else
            $s_hold_ret &= StringRegExpReplace($a_fsplit[$i], "((?:.*?[\\/]+)*)(.*?\z)", "$2") & Chr(1)
        EndIf
    Next

    If $s_hold_ret = "" Then Return SetError(5, 5, 0)
    $result = StringSplit($s_hold_ret, Chr(1))

    ; Удаляем из списка файлов те, в путях которых присутствуют папки из массива
    If $folders_exlcude Then
        $fes = StringSplit($folders_exlcude, ";")
        If IsArray($fes) Then
            For $i = 1 to $fes[0]
                If $i > $fes[0] Then ExitLoop
                If $fes[$i] == "" Then
                    _ArrayDelete($fes, $i)
                    $fes[0] = $fes[0] - 1
                    $i = $i - 1
                EndIf
            Next
            For $i = 1 to $result[0]
                If $i > $result[0] Then ExitLoop
                $path = StringRegExp($result[$i], "(.*)\\[^\\]*$", 1)
                If $path == 0 Then ContinueLoop
                For $n = 1 to $fes[0]
                    If (StringInStr($result[$i], $fes[$n])) Then
                        _ArrayDelete($result, $i)
                        $result[0] = $result[0] - 1
                        $i = $i - 1
                        ExitLoop
                    EndIf
                Next
            Next
        EndIf
    EndIf

    ; Удаляем из списка файлов те, имена которых не соответствуют регулярным выражениям
    If $filereg_exclude Then
        $fes = StringSplit($filereg_exclude, ";")
        If IsArray($fes) Then
            For $i = 1 to $fes[0]
                If $i > $fes[0] Then ExitLoop
                If $fes[$i] == "" Then
                    _ArrayDelete($fes, $i)
                    $fes[0] = $fes[0] - 1
                    $i = $i - 1
                EndIf
            Next
            For $i = 1 to $result[0]
                If $i > $result[0] Then ExitLoop
                $filename = StringRegExp($result[$i], "\\([^\\]+)$", 1)
                If $filename == 0 Then ContinueLoop
                For $n = 1 to $fes[0]
                    If ((StringRegExp($filename[0], $fes[$n]) == 1)) Then
                        _ArrayDelete($result, $i)
                        $result[0] = $result[0] - 1
                        $i = $i - 1
                        ExitLoop
                    EndIf
                Next
            Next
        EndIf
    EndIf

    ; Удаляем последний, пустой элемент из результатов поиска
    If ($result[0] > 0) And $result[$result[0]] == "" Then
        _ArrayDelete($result, $result[0])
        $result[0] = $result[0] - 1
    EndIf

    ; Возвращаем массив найденных файлов\папок
    Return $result
EndFunc

Можешь кинуть в свой скрипт, можешь в отдельный файл и подцепить include'ом.

Для поиска файлов в своем скрипте пишешь:
Код: AutoIt [Выделить]
$files = GetFileList(@TempDir, "*.dae", 1) ; получишь массив всех файлов
В нулевом элементе массива - количество файлов
Далее в цикле перебираешь их и делаешь что тебе хочется. Для переноса на прежнее место, соответственно выделяешь из имени исходного файла полный путь к папке, из имени dae-файлов - только имя с расширением. Совмещаешь, получаешь новое имя файлов. А дальше стандартным FileMove($files, $newFileName) переносишь.

Для разбора имени рекомендую использовать скрипт CreatoR'а:
Код: AutoIt [Выделить]
; ========================================================================================
; Автор: G.Sandler a.k.a CreatoR (MsCreatoR) - Thanks to amel27 for help with RegExp
; Возвращает список файлов / папок в указанном каталоге, отвечающих переданным параметрам
; ----------------------------------------------------------------------------------------
; Function Name:    PathSplit()
; Description:      Split the path to 8 elements.
; Parameter(s):     $path - Path to split.
; Requirement(s):
; Return Value(s):  On seccess - Array $retArray that contain 8 elements:
;                   $retArray[0] = Full path ($path)
;                   $retArray[1] = Drive letter
;                   $retArray[2] = Path without FileName and extension
;                   $retArray[3] = Full path without File Extension
;                   $retArray[4] = Full path without drive letter
;                   $retArray[5] = FileName and extension
;                   $retArray[6] = Just Filename
;                   $retArray[7] = Just Extension of a file
;
;                   On failure - If $path not include correct path (the path is not splitable),
;                   then $path returned.
;                   If $path not include needed delimiters, or it's emty,
;                   then @error set to 1, and returned -1.
; ========================================================================================
Func PathSplit($path)
    If $path = "" Or (StringInStr($path, "\") And StringInStr($path, "/")) Then Return SetError(1, 0, -1)

    Local $retArray[8], $delim = ""

    If StringRegExp($path, '^(?i)([A-Z]:|\\)(\\[^\\]+)+$') Then $delim = "\"
    If StringRegExp($path, '(?i)(^.*:/)(/[^/]+)+$') Then $delim = "//"

    If $delim = "" Then $delim = "/"
    If Not StringInStr($path, $delim) Then Return $path

    If $delim = "\" Then $delim &= "\"

    $retArray[0] = $path ;Full path
    $retArray[1] = StringRegExpReplace($path,  $delim & '.*', $delim) ;Drive letter
    $retArray[2] = StringRegExpReplace($path, $delim & '[^' & $delim & ']*$', '') ;Path without FileName and extension
    $retArray[3] = StringRegExpReplace($path, '\.[^.]*$', '') ;Full path without File Extension
    $retArray[4] = StringRegExpReplace($path, '(?i)([A-Z]:' & $delim & ')', '') ;Full path without drive letter
    $retArray[5] = StringRegExpReplace($path, '^.*' & $delim, '') ;FileName and extension
    $retArray[6] = StringRegExpReplace($path, '.*' & $delim & '|\.[^.]*$', '') ;Just Filename
    $retArray[7] = StringRegExpReplace($path, '^.*\.', '') ;Just Extension of a file
    Return $retArray
EndFunc

Надеюсь, что помог.




  Записан

madmasles [?]

  • Модератор
  • *
  • *****
  • Репутация: 1336
  • Online Online
  • Пол: Мужской
  • Сообщений: 3487
  • Версия AutoIt: 3.3.6.1 - 3.3.8.1
    • Награды
Tosyk,
Рабочий скрипт:
Код: AutoIt [Выделить]
Opt('MustDeclareVars', 1)
Opt('TrayMenuMode', 1)

Global $sUtilitiesDir = @TempDir & '\Utilities', _ ;папка для утилит
        $sWorkDir = @TempDir & '\_Temp', _ ;папка, в которую распаковываем файлы
        $sSourceDir, _;папка, в которую перемещаем обработанные файлы.
        $aFiles

OnAutoItExitRegister('_Exit')

If Not @Compiled Then
    MsgBox(16, 'Error', 'Only compiled')
    Exit
EndIf
If Not $CmdLine[0] Then
    MsgBox(16, 'Error', 'No $CmdLine')
    Exit
EndIf

If WinExists(@ScriptName & '{[/@$@\]}') Then Exit
AutoItWinSetTitle(@ScriptName & '{[/@$@\]}')

_Start()
If @error Then
    MsgBox(16, 'Error', '_Start')
    Exit
EndIf

$aFiles = _Get_Files()
_DumpDae($aFiles)
ConsoleWrite('Errors _DumpDae: ' & @extended & @LF)
_ConvertM2RDM($sWorkDir, $sSourceDir)
ConsoleWrite('Errors _ConvertM2RDM: ' & @extended & @LF)

Func _DumpDae($a_Files)
    Local $s_MDumper = '"' & $sUtilitiesDir & '\Mafia2ModelDumper.exe"', $i_End, $i_Errors

    For $i = 1 To $a_Files[0]
        $i_End = RunWait($s_MDumper & ' "' & $a_Files[$i] & '"', $sWorkDir, @SW_HIDE)
        If $i_End Then $i_Errors += 1
    Next
    Return SetExtended($i_Errors)
EndFunc   ;==>_DumpDae

Func _ConvertM2RDM($s_PathFrom, $s_PathTo, $s_Mask = '*.dae')
    Local $s_M2RDM = '"' & $sUtilitiesDir & '\mesh2rdm.exe"', $h_Search, $s_File, $i_End, $i_Errors

    If Not StringInStr(FileGetAttrib($s_PathFrom), 'D') Then Return SetError(1)
    If Not StringInStr(FileGetAttrib($s_PathTo), 'D') Then Return SetError(1)
    $s_PathFrom &= '\'
    $s_PathTo &= '\'
    $h_Search = FileFindFirstFile($s_PathFrom & $s_Mask)
    If @error Then Return SetError(1)
    While 1
        $s_File = FileFindNextFile($h_Search)
        If @error Then ExitLoop
        $i_End = RunWait($s_M2RDM & ' "' & $s_PathFrom & $s_File & '" "' & $s_PathTo & $s_File & '" -flipuv -scale 100 -nopause -rotate 0 180 0', '', @SW_HIDE)
        If $i_End Then $i_Errors += 1
    WEnd
    FileClose($h_Search)
    Return SetExtended($i_Errors)
EndFunc   ;==>_ConvertM2RDM


Func _Get_Files()
    Local $a_Files[$CmdLine[0] + 1] = [$CmdLine[0]], $i_Count

    For $i = 1 To $CmdLine[0]
        If FileExists($CmdLine[$i]) Then
            $i_Count += 1
            $a_Files[$i_Count] = $CmdLine[$i]
        EndIf
    Next
    If $i_Count Then
        ReDim $a_Files[$i_Count + 1]
        $a_Files[0] = $i_Count
        $sSourceDir = StringRegExpReplace($a_Files[$a_Files[0]], '\\[^\\]*$', '');определяем исходную папку
        Return $a_Files
    Else
        MsgBox(16, 'Error', 'No files')
        Exit
    EndIf
EndFunc   ;==>_Get_Files

Func _Start()
    If Not FileExists($sUtilitiesDir) Then
        If Not DirCreate($sUtilitiesDir) Then Return SetError(1)
    EndIf
    If Not FileExists($sWorkDir) Then
        If Not DirCreate($sWorkDir) Then Return SetError(1)
    EndIf
    If Not FileInstall('Mafia2ModelDumper.exe', $sUtilitiesDir & '\Mafia2ModelDumper.exe', 1) Then Return SetError(1)
    If Not FileInstall('Gibbed.Helpers.dll', $sUtilitiesDir & '\Gibbed.Helpers.dll', 1) Then Return SetError(1)
    If Not FileInstall('Gibbed.Illusion.FileFormats.dll', $sUtilitiesDir & '\Gibbed.Illusion.FileFormats.dll', 1) Then Return SetError(1)
    If Not FileInstall('ICSharpCode.SharpZipLib.dll', $sUtilitiesDir & '\ICSharpCode.SharpZipLib.dll', 1) Then Return SetError(1)
    If Not FileInstall('Mafia2ModelDumper.exe.config', $sUtilitiesDir & '\Mafia2ModelDumper.exe.config', 1) Then Return SetError(1)
    If Not FileInstall('Mafia2Tool.dll', $sUtilitiesDir & '\Mafia2Tool.dll', 1) Then Return SetError(1)
    If Not FileInstall('mesh2rdm.exe', $sUtilitiesDir & '\mesh2rdm.exe', 1) Then Return SetError(1)
EndFunc   ;==>_Start

Func _Exit()
    If ProcessExists('Mafia2ModelDumper.exe') Then ProcessClose('Mafia2ModelDumper.exe')
    If ProcessExists('mesh2rdm.exe') Then ProcessClose('mesh2rdm.exe')
    DirRemove($sUtilitiesDir, 1)
    DirRemove($sWorkDir, 1)
EndFunc   ;==>_Exit
ИМХО, было бы удобнее сделать так, чтобы перетаскивать на exe можно было не только файлы, но и папку(папки).
« Последнее редактирование: Январь 26, 2012, 15:32:07 от madmasles »



  Записан

Tosyk [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 0
  • Offline Offline
  • Сообщений: 47
  • Версия AutoIt: 3.3.6.1
    • Награды
EqKeeper
спасибо, но способ громоздкий
madmasles
огромное спасибо, всё отлично работает, в скрипте разобрался на 90%, далее буду искать следующее:
1 - запуск exe скрипта и обработка всех файлов по маске вглубь
2 - прогресс бар

madmasles  [?]
Цитата
ИМХО, было бы удобнее сделать так, чтобы перетаскивать на exe можно было не только файлы, но и папку(папки).
думаю это лучший из вариантов обработки
по первому пункту




  Записан

madmasles [?]

  • Модератор
  • *
  • *****
  • Репутация: 1336
  • Online Online
  • Пол: Мужской
  • Сообщений: 3487
  • Версия AutoIt: 3.3.6.1 - 3.3.8.1
    • Награды
Tosyk,
Перетаскивать на exe можно и файлы, и папки. У меня работает.
« Последнее редактирование: Январь 28, 2012, 09:00:30 от madmasles »



  Записан

Tosyk [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 0
  • Offline Offline
  • Сообщений: 47
  • Версия AutoIt: 3.3.6.1
    • Награды
madmasles
как я понимаю он ищет рекурсивно файлы .sds всё по подпапкам?




  Записан

madmasles [?]

  • Модератор
  • *
  • *****
  • Репутация: 1336
  • Online Online
  • Пол: Мужской
  • Сообщений: 3487
  • Версия AutoIt: 3.3.6.1 - 3.3.8.1
    • Награды




  Записан

Tosyk [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 0
  • Offline Offline
  • Сообщений: 47
  • Версия AutoIt: 3.3.6.1
    • Награды
madmasles  [?]
Цитата
Не только .sds, все файлы.
как все? не понимаю, зачем нужно искать все файлы, если нужно только sds?
или скрипт ищет все файлы и применяет к каждому файлу функции, если файл sds то операция выполняется, если файлы не sds то они пропускаются? или ещё проще: если файлы не sds то они пропускаются?
вообще очень круто работает выполнение, порадовала информация в верхнем левом углу!




  Записан

madmasles [?]

  • Модератор
  • *
  • *****
  • Репутация: 1336
  • Online Online
  • Пол: Мужской
  • Сообщений: 3487
  • Версия AutoIt: 3.3.6.1 - 3.3.8.1
    • Награды
Tosyk,
Я добавил маску на sds-файлы, хотя Вы могли бы сделать это сами, я Вам давал пример, как это сделать.




  Записан

Tosyk [?]

  • Новичок
  • *

  • Автор темы
  • Репутация: 0
  • Offline Offline
  • Сообщений: 47
  • Версия AutoIt: 3.3.6.1
    • Награды
madmasles
спасибо большое, буду дальше разбираться!
« Последнее редактирование: Январь 29, 2012, 10:26:35 от Tosyk »



  Записан
 


Похожие темы
Тема Автор Ответов Просмотров Последний ответ
Возможна ли работа с GUI программами без логина пользователя
AutoIt для новичков
abeltsov 11 1944 Последний ответ Ноябрь 20, 2009, 20:30:32
от w3d
Взаимодействие AutoIT с другими программами
AutoIt для новичков
Александр 14 1758 Последний ответ Октябрь 16, 2009, 19:28:16
от Kaster
Совместное использование сообщений двумя UDF библиотеками
Полезняшки
Yashied 0 1118 Последний ответ Март 27, 2010, 02:15:00
от Yashied
[Элементы GUI] Работа с двумя и более окнами в одном приложении.
AutoIt для новичков
Mr. Anderson 3 759 Последний ответ Август 08, 2010, 11:26:38
от HukpoFuJl
[Автоматизация] Автокопировние файлов
Стол заказов
Krec 2 496 Последний ответ Май 23, 2011, 16:39:22
от Kaster
[Автоматизация] рекурсивный поиск файлов и преобразование +прогресс-бар
Стол заказов
Tosyk 3 555 Последний ответ Сентябрь 03, 2011, 22:44:30
от madmasles
С некоторомы программами можно одновременно устанавливать и другие. Как узнать?
Общение
Centrinar 1 243 Последний ответ Август 08, 2011, 22:59:43
от Kaster
[Автоматизация] Преобразование таблиц из псевдографики в word таблицы
Общение
Vlasssov 0 308 Последний ответ Ноябрь 17, 2011, 14:31:38
от Vlasssov
передача данных между двумя процессами
AutoIt для новичков
running-frag 3 236 Последний ответ Январь 13, 2012, 01:30:14
от madmasles
[Автоматизация] преобразование файлов с параметрами
AutoIt для новичков
Tosyk 52 1553 Последний ответ Январь 24, 2012, 09:13:48
от Tosyk


* Реклама

* Последние сообщения на форуме
post Re: Создать гибридный объект из TreeView и ListView
[GUI - Графический интерфейс пользователя] lorents Сегодня в 00:11:17
post Re: Создать объект TreeList
[GUI - Графический интерфейс пользователя] Medic84 Сегодня в 00:09:25
post Re: Вынести текст с експлорера на месседжбокс
[Автоматизация IE и Web-интерфейса] Kaster Февраль 22, 2012, 23:27:02
post Re: [Автоматизация] Сохранение файла по ссылке
[Автоматизация IE и Web-интерфейса] Александр Февраль 22, 2012, 23:23:23
post [Автоматизация] как вынести текст с IE на MsgBox?
[Автоматизация IE и Web-интерфейса] Колян) Февраль 22, 2012, 23:22:00
post Re: Создать объект TreeList
[GUI - Графический интерфейс пользователя] lorents Февраль 22, 2012, 23:20:39
post Re: Создать объект TreeList
[GUI - Графический интерфейс пользователя] AZJIO Февраль 22, 2012, 22:43:46
post Re: Объект TreeList
[GUI - Графический интерфейс пользователя] lorents Февраль 22, 2012, 21:58:25
post Re: TreeList
[GUI - Графический интерфейс пользователя] Medic84 Февраль 22, 2012, 21:56:02
post Создать гибридный объект из TreeView и ListView
[GUI - Графический интерфейс пользователя] lorents Февраль 22, 2012, 21:48:13

* Пользователи онлайн
  • Dot Гостей: 87
  • Dot Скрыт: 2
  • Dot Пользователей: 32
  • Dot Пользователи Online: