Расширил функционал существующего плагина тем, что можно оставлять старые файлы не по дате создания, а по максимальному из дат: создания, изменения, доступа.
Полезно, если файл хранится до тех пор, пока к нему не было доступа или он не изменялся.
Это может быть полезно для временных папок, куда можно запихивать разных хлам (например, скаченный из Интернета или из почты и т.д.) и удалять его, если к нему "пропал" интерес или нужную программу установили, документ распечатали и т.д.... Если поставить, что сохранять 14 дней (как у меня), то в течении 14 дней ничего с файлом не случится.
Надеюсь, это кому-нибудь, кроме меня будет полезно, а быть может это будет включено в стандартную поставку (для этого в RunTime мои изменения отмечены тегом "avmaksimov").
Пишите, если что не так.
Удалить старые файлы (по времени созд., измен., открыт.)
-
- Ас
- Сообщения: 907
- Зарегистрирован: Чт май 08, 2008 2:48 pm
- Откуда: г. Москва, Россия
- Благодарил (а): 6 раз
- Поблагодарили: 16 раз
- Контактная информация:
Удалить старые файлы (по времени созд., измен., открыт.)
- Вложения
-
- avmaksimov_DelOlFilesEx.spm
- (26.94 КБ) 796 скачиваний
С уважением, Андрей.
- Alex
- Ас
- Сообщения: 2833
- Зарегистрирован: Вт апр 05, 2005 3:28 pm
- Откуда: Kaliningrad City
- Благодарил (а): 2 раза
- Поблагодарили: 91 раз
- Контактная информация:
Re: Удалить старые файлы (по времени созд., измен., открыт.)
Спасибо, внес аналогичные изменения в основной пакет программы.
- За это сообщение автора Alex поблагодарил:
- avmaksimov (Вс окт 25, 2009 2:42 pm)
- Рейтинг: 33.33%
-
- Ас
- Сообщения: 907
- Зарегистрирован: Чт май 08, 2008 2:48 pm
- Откуда: г. Москва, Россия
- Благодарил (а): 6 раз
- Поблагодарили: 16 раз
- Контактная информация:
Re: Удалить старые файлы (по времени созд., измен., открыт.)
Спасибо!
Кстати, это мой второй внутренний вариант)))... Первый вариант был с тем, чтобы можно было выбирать, по какому дате-времени сравнивать: создания, изменения или доступа...
Еще раз, кстати, было бы неплохо заменить GetFileProperties чем-нибудь вроде GetFileWrDate и GetFileAcDate ...
Кстати, это мой второй внутренний вариант)))... Первый вариант был с тем, чтобы можно было выбирать, по какому дате-времени сравнивать: создания, изменения или доступа...
Еще раз, кстати, было бы неплохо заменить GetFileProperties чем-нибудь вроде GetFileWrDate и GetFileAcDate ...
С уважением, Андрей.
-
- Ас
- Сообщения: 907
- Зарегистрирован: Чт май 08, 2008 2:48 pm
- Откуда: г. Москва, Россия
- Благодарил (а): 6 раз
- Поблагодарили: 16 раз
- Контактная информация:
Re: Удалить старые файлы (по времени созд., измен., открыт.)
Внес небольшие изменения:
1) если невозможно удалить файл, то пишется причина (например, "Отказано в доступе" - полчаса не мог понять, почему не работало, уже и код анализировал и проверял работу плагина...);
2) если включен детальный лог, то теперь пишется в случае установки галочки "created, changed or accessed" такое же сообщение в лог файл, вместо "created"; если галочка не стоит, то все отображается по старому.
Во вложении первоначально измененный мной файл (правда, не тестированный) и измененный, проверенный FileSystem.spm.
1) если невозможно удалить файл, то пишется причина (например, "Отказано в доступе" - полчаса не мог понять, почему не работало, уже и код анализировал и проверял работу плагина...);
2) если включен детальный лог, то теперь пишется в случае установки галочки "created, changed or accessed" такое же сообщение в лог файл, вместо "created"; если галочка не стоит, то все отображается по старому.
Во вложении первоначально измененный мной файл (правда, не тестированный) и измененный, проверенный FileSystem.spm.
- Вложения
-
- avmaksimov_DelOlFilesEx.spm
- (26.85 КБ) 660 скачиваний
-
- FileSystem.zip
- (45.41 КБ) 627 скачиваний
С уважением, Андрей.
- Alex
- Ас
- Сообщения: 2833
- Зарегистрирован: Вт апр 05, 2005 3:28 pm
- Откуда: Kaliningrad City
- Благодарил (а): 2 раза
- Поблагодарили: 91 раз
- Контактная информация:
Re: Удалить старые файлы (по времени созд., измен., открыт.)
Нашел небольшой глюк в этом действии.
В цикле
надо ставить
В цикле
Код: Выделить всё
for i:=0 to SL.Count-1 do
begin
Код: Выделить всё
Leave:=False;
-
- Ас
- Сообщения: 907
- Зарегистрирован: Чт май 08, 2008 2:48 pm
- Откуда: г. Москва, Россия
- Благодарил (а): 6 раз
- Поблагодарили: 16 раз
- Контактная информация: