-
AutoIt
(
http://forum.oszone.net/forumdisplay.php?f=103)
периодическое удаление папок
Есть видеосервер, на котором видео каждый день записывается в новую папку. Через н-дней нужно удалять самую старую из них. Как это осуществить на AutoIt ?
|
Цитата:
Цитата silence
нужно удалять самую старую из них. Как это осуществить на AutoIt ? »
|
Вот быстрый пример кода:
Код:
#include <array.au3>
#Include <File.au3>
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
Данный скрипт дан только для наглядности, его нужно усложнить, добавив различные проверки на ошибки - это уже ваша задача.
Для запуска этого скрипта, можете дописать код типа планировщика, который в указанную вами дату будет делать "чистку", запуская на обработку код, который выше или использовать сторонний какой продукт (имеется ввиду планировщик) для запуска скрипта.
P.S. В переменной $sRoot храниться путь к папке, в которой находятся ваши подпапки с видеофайлами.
|
Время: 16:43.
© OSzone.net 2001-