Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 1)

Модерирует : gyra, Maz

Widok (12-01-2009 14:47): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Код:
Global $iDeleted = 0, $sDeleted_FilesList = ""
Global $aFilesList = _FileListToArrayEx(@ScriptDir, "*.*")
 
For $i = 1 To $aFilesList[0]
    If Not StringRegExp($aFilesList[$i], "(?i)\.(pef|dng)\z") Then ContinueLoop ;Не обрабатываем если расширение не "pef" и не "dng"
    If StringInStr(FileGetAttrib($aFilesList[$i] & "\"), "D") Then ContinueLoop ;Не обрабатываем если текущий путь это каталог
 
    $sJpgFileName = StringRegExpReplace($aFilesList[$i], "\.[^\.]*$", ".jpg")
 
    If Not FileExists($sJpgFileName) And FileDelete($aFilesList[$i]) Then
        $iDeleted += 1
        $sDeleted_FilesList &= $aFilesList[$i] & @CRLF
    EndIf
Next
 
If
$iDeleted > 0 Then
    MsgBox(64, "Результат", StringFormat("Список файлов которые были удалены [%i]:\n\n%s", $iDeleted, $sDeleted_FilesList))
Else
    MsgBox(64, "Результат", "Ни один файл небыл удалён.")
EndIf
 
Func
_FileListToArrayEx($sPath, $sMask="*", $iMode=-1) ;$iMode > 0 только папки (маска игнорируется), иначе папки + файлы
    If Not StringInStr(FileGetAttrib($sPath & "\"), "D") Then Return SetError(1, 0, 0)
 
    Local $hSearch, $sFindNext, $sFilePath, $iPathIsFolder, $i = 0
    Local $sRegExpFilter = 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 $iMode <= 0 Or ($iMode > 0 And $iPathIsFolder) Then
                If
$iPathIsFolder Or (Not $iPathIsFolder And StringRegExp($sFindNext, "(?i)" & $sRegExpFilter)) 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
                EndIf
            EndIf
        WEnd
 
        FileClose($hSearch)
    Wend
 
    ReDim $aPathesArr[$aPathesArr[0]+1]
    Return $aPathesArr
EndFunc

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 03:37 29-12-2008 | Исправлено: ViSiToR, 03:41 29-12-2008
   

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 1)
Widok (12-01-2009 14:47): лимит страниц. продолжаем здесь


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru