|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Удаление файлов по дате
Как удалить файлы из папки дата создание которых например боль чем неделя. Заранее спасибо
|
#2
|
|||
|
|||
Тебе помогут FindFirst/FindNext/FindClose и FileTimeToDateTime (кажется так). Ну и DeleteFile, естественно.
|
#3
|
|||
|
|||
Я вот сейчас сижу и не могу сделать чтобы прога во первых определила все файлы в папке ну и затем в цикле каждый файл обработал. Типо если он старше 7 дней то удаляем.
|
#4
|
||||
|
||||
Код:
procedure TForm1.Button1Click(Sender: TObject); var sr: TSearchRec; isFound: boolean; temp, APath : string; dat1, dat2 : tdate; begin dat1:=StrToDate( '11.07.2009' ); //дата APath:='papka\'; //путь isFound := FindFirst( APath + '*.*', faAnyFile, sr ) = 0; //Поиск первого файла while isFound do begin if ( sr.Name <> '.' ) and ( sr.Name <> '..' ) and //Если файл не является папкой ( ( sr.Attr and faDirectory ) <> faDirectory ) then begin temp := ExtractFileName( sr.Name ); //получаем имя файла dat2:=( FileDateToDateTime(FileAge( APath + sr.Name ) ) ) ; //получаем дату if dat1 > dat2 then DeleteFile(apath + temp); end; isFound := FindNext( sr ) = 0; //ищем следующий файл end; FindClose( sr ); // прекратить поиск end; Последний раз редактировалось pesi, 17.07.2009 в 16:42. |
#5
|
|||
|
|||
Большое спасибо!!!
|
#6
|
|||
|
|||
как опеределить разницу между датами.
|