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

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

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

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

   

ViSiToR



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

Код:
$sDeleted_FilesList = _RAWFilesDelete_Proc("C:\Photos", "PEF|DNG", "JPG", 1)
$iDeleted = @extended
 
If $iDeleted > 0 Then
    MsgBox(64, "Результат", StringFormat("Список файлов которые были удалены [%i]:\n\n%s", $iDeleted, $sDeleted_FilesList))
Else
    MsgBox(64, "Результат", "Ни один файл небыл удалён.")
EndIf
 
Func
_RAWFilesDelete_Proc($sPath, $sFilter="PEF|DNG", $sCompare_Ext="JPG", $iRecursive=1)
    If Not StringInStr(FileGetAttrib($sPath & "\"), "D") Then Return SetError(1, 0, 0)
 
    Local $hSearch, $sFindNext, $sFilePath, $i = 0, $iDeleted = 0, $sDeleted_FilesList = ""
    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
 
            If StringInStr(FileGetAttrib($sFilePath & "\"), "D") 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
            Else
                If Not StringRegExp($sFilePath, "(?i)\.(" & $sFilter & ")$") Then ContinueLoop
                If FileExists(StringRegExpReplace($sFilePath, "\.[^\.]*$", "." & $sCompare_Ext)) Then ContinueLoop
 
                If FileDelete($sFilePath) Then
                    $iDeleted += 1
                    $sDeleted_FilesList &= $sFilePath & @CRLF
                EndIf
            EndIf
        WEnd
 
        FileClose($hSearch)
        If Not $iRecursive Then ExitLoop
    Wend
 
    Return SetExtended($iDeleted, $sDeleted_FilesList)
EndFunc

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 14:20 29-12-2008 | Исправлено: ViSiToR, 14:35 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