Страница 1 из 1

Удалить старые файлы (по времени созд., измен., открыт.)

Добавлено: Вс окт 25, 2009 12:56 pm
avmaksimov
Расширил функционал существующего плагина тем, что можно оставлять старые файлы не по дате создания, а по максимальному из дат: создания, изменения, доступа.
Полезно, если файл хранится до тех пор, пока к нему не было доступа или он не изменялся.
Это может быть полезно для временных папок, куда можно запихивать разных хлам (например, скаченный из Интернета или из почты и т.д.) и удалять его, если к нему "пропал" интерес или нужную программу установили, документ распечатали и т.д.... Если поставить, что сохранять 14 дней (как у меня), то в течении 14 дней ничего с файлом не случится.

Надеюсь, это кому-нибудь, кроме меня будет полезно, а быть может это будет включено в стандартную поставку (для этого в RunTime мои изменения отмечены тегом "avmaksimov").

Пишите, если что не так. :)

Re: Удалить старые файлы (по времени созд., измен., открыт.)

Добавлено: Вс окт 25, 2009 2:42 pm
Alex
Спасибо, внес аналогичные изменения в основной пакет программы.

Re: Удалить старые файлы (по времени созд., измен., открыт.)

Добавлено: Вс окт 25, 2009 6:51 pm
avmaksimov
Спасибо!

Кстати, это мой второй внутренний вариант)))... Первый вариант был с тем, чтобы можно было выбирать, по какому дате-времени сравнивать: создания, изменения или доступа...

Еще раз, кстати, было бы неплохо заменить GetFileProperties чем-нибудь вроде GetFileWrDate и GetFileAcDate ...

Re: Удалить старые файлы (по времени созд., измен., открыт.)

Добавлено: Вс июн 13, 2010 8:39 pm
avmaksimov
Внес небольшие изменения:
1) если невозможно удалить файл, то пишется причина (например, "Отказано в доступе" - полчаса не мог понять, почему не работало, уже и код анализировал и проверял работу плагина...);
2) если включен детальный лог, то теперь пишется в случае установки галочки "created, changed or accessed" такое же сообщение в лог файл, вместо "created"; если галочка не стоит, то все отображается по старому.

Во вложении первоначально измененный мной файл (правда, не тестированный) и измененный, проверенный FileSystem.spm.

Re: Удалить старые файлы (по времени созд., измен., открыт.)

Добавлено: Вс окт 24, 2010 9:52 pm
Alex
Нашел небольшой глюк в этом действии.
В цикле

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

for i:=0 to SL.Count-1 do
    begin
надо ставить

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

Leave:=False;

Re: Удалить старые файлы (по времени созд., измен., открыт.)

Добавлено: Сб мар 19, 2011 11:09 am
avmaksimov
К слову, не мой :).