Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.07.08;
Скачать: CL | DM;

Вниз

удаление файлов   Найти похожие ветки 

 
rosl   (2007-06-14 02:54) [0]

как удалить файлы из каталога, созданные более недели назад?


 
Riply ©   (2007-06-14 03:19) [1]

Так же, как и созданные сегодня :)


 
rosl   (2007-06-14 03:25) [2]

вот я и спрашиваю КАК? как определить дату создания файла? и ка его потом удалить?


 
Германн ©   (2007-06-14 03:34) [3]


> Riply ©   (14.06.07 03:19) [1]
>
> Так же, как и созданные сегодня :)
>

+1

Прошлые сутки "Плохиш" много раз пытался наставить на путь истинный хоть кого-то :(((
И всяк "Самаритяне" давали "разжёванное". Как правило "недопережёвыванное". А "отрыжку" относили на авось.
:)


 
Riply ©   (2007-06-14 03:41) [4]

> [2] rosl   (14.06.07 03:25)
FindFirst, FindNext, FindClose
В структуре TSearchRec есть параметр Time (если правильно помню)
Пример есть в Help-е


 
Arm79 ©   (2007-06-14 20:17) [5]

procedure TLogWriter.RotateLogs;
 var
   i                 : integer;
   OldName, NewName  : PChar;
   dTemp, dCurrent   : Cardinal;
   stTemp            : SYSTEMTIME;
   FileTime          : ^TFileTime;
   SearchRec         : TSearchRec;
   FileAttrs         : Integer;
begin
 if not FOpened
 then raise Exception.Create("Â çàêðûòîì ñîñòîÿíèè ðîòàöèÿ ëîãîâ íåâîçìîæíà...");

 Lock;

 with TStringList.Create do
 begin
   FileAttrs := faAnyFile-faDirectory-faVolumeID-faSysFile;
   if FindFirst(Format("%s*.log", [FLogDir]), FileAttrs, SearchRec) = 0
   then begin
     GetMem(FileTime, SizeOf(TFileTime));
     FileTime^ := SearchRec.FindData.ftLastWriteTime;

     AddObject(SearchRec.Name, TObject(FileTime));

     while FindNext(SearchRec) = 0 do
     begin
       GetMem(FileTime, SizeOf(TFileTime));
       FileTime^ := SearchRec.FindData.ftLastWriteTime;

       AddObject(SearchRec.Name, TObject(FileTime));
     end; //  while FindNext(SearchRec) = 0 do
     SysUtils.FindClose(SearchRec);
   end; // if FindFirst(Format("%s*.log", [FLogDir]), FileAttrs, SearchRec) = 0

   if Count > 0
   then begin
     for i := 0 to Count - 1
     do begin
       FileTime  := Pointer(Objects[i]);
       FileTimeToSystemTime(FileTime^, stTemp);

         // íàì íóæåí âñåãî ëèøü äåíü ìîäèôèêàöèè
       dTemp     := Trunc(SystemTimeToDateTime(stTemp));
       dCurrent  := Trunc(Now);

       if (dCurrent - dTemp) >= FLogAge
       then begin
           // îïåðàöèè êîïèðîâàíèÿ ìîãóò áûòü âåñüìà ïðîäîëæèòåëüí&# 251;
           // îïåðàöèè ïåðåìåùåíèÿ òîæå â ñëó÷àå ïåðåìåùåíèÿ íà äðóãèå ðàçäåëû.
         OldName   := PChar(FLogDir    + Strings[i]);
         NewName   := PChar(FBackupDir + Strings[i]);

         case RotateAction of
         raNone:
           begin
             // íè÷åãî íå äåëàåì
           end;
         raDelete:
           begin
             DeleteFile(OldName);
           end;
         raCopy:
           begin
             if FileExists(NewName)
             then DeleteFile(NewName);
             CopyFile(OldName, NewName, False);
           end;
         raMove:
           begin
             if FileExists(NewName)
             then DeleteFile(NewName);
             MoveFile(OldName, NewName);
           end;
         end;

         if Assigned(FRotateLogs)
         then FRotateLogs(Self, Strings[i], RotateAction);
       end; // if (dCurrent - dTemp) > FLogAge

       FreeMem(Pointer(Objects[i]), SizeOf(TFileTime));
     end; // for i := 0 to Count - 1

     Clear;
     Free;
   end; // if Count > 0
 end; // with slTemp do

 UnLock;
end;



Страницы: 1 вся ветка

Текущий архив: 2007.07.08;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.028 c
2-1181903874
лЕвый поЗер
2007-06-15 14:37
2007.07.08
esc


2-1181735253
SunriseGirl
2007-06-13 15:47
2007.07.08
DBGrid


1-1178465498
gosha73
2007-05-06 19:31
2007.07.08
Показать хинт контрола в позиции курсора


15-1180961295
Nic
2007-06-04 16:48
2007.07.08
Rave-отчёты и проблемы с кодировкой


5-1156231502
nali
2006-08-22 11:25
2007.07.08
Сохранение и загрузка свойства в файл в рантайме