периодическое удаление папок

Ответить
Аватара пользователя
silence

периодическое удаление папок

Сообщение silence »

Есть видеосервер, на котором видео каждый день записывается в новую папку. Через н-дней нужно удалять самую старую из них. Как это осуществить на AutoIt ?
Аватара пользователя
beve

Re: периодическое удаление папок

Сообщение beve »

Цитата silence:



нужно удалять самую старую из них. Как это осуществить на AutoIt ?
периодическое удаление папок




Вот быстрый пример кода:



Код:

Код: Выделить всё

#include 
#Include 
Global $sYear=3000 ;берем нереальный год, если в директории есть хоть одна папка, то при первой же проверке, этот год будет сменен на реальный.
Global $sMon=12
Global $sDay=31
Global $OldFolder=""
$sRoot = @DesktopDir
$aDIR = _FileListToArray($sRoot, '*', 2)
if isarray($aDIR) then
For $i=1 to $aDIR[0]
    $aCreateTime =  FileGetTime($sRoot & "\"&$aDIR[$i])
    if $sYear>$aCreateTime[0] then 
        $sYear=$aCreateTime[0] 
        $OldFolder=$aDIR[$i]
        ContinueLoop
    endif
    if $sMon>$aCreateTime[1] then 
    $sMon=$aCreateTime[1] 
        $OldFolder=$aDIR[$i]
        ContinueLoop
    endif
    if $sDay>$aCreateTime[2] then 
    $sDay=$aCreateTime[2] 
        $OldFolder=$aDIR[$i]
        ContinueLoop
    endif
Next
Endif
If FileExists($sRoot&"\"&$OldFolder) Then
    MsgBox(4096, "Директория: "&$sRoot, "Эту папку следует удалить, как созданную раньше всех других в этой директории: "&$sRoot&"\"&$OldFolder)
;DirRemove($sRoot&"\"&$OldFolder, 1) ;Осторожно!!! данная функция удалит всю папку из файлами (название папки отображается в msgbox)
endif

Данный скрипт дан только для наглядности, его нужно усложнить, добавив различные проверки на ошибки - это уже ваша задача.


Цитата silence:



Через н-дней
периодическое удаление папок




Для запуска этого скрипта, можете дописать код типа планировщика, который в указанную вами дату будет делать "чистку", запуская на обработку код, который выше или использовать сторонний какой продукт (имеется ввиду планировщик) для запуска скрипта.

P.S. В переменной $sRoot храниться путь к папке, в которой находятся ваши подпапки с видеофайлами.
Ответить

Вернуться в «AutoIt»