bevor das ganze hier noch ewig dauert - hier eine procedure welche dir alle Dateien in eine Liste vom Typ TStrings packt, die vor einem bestimmten Datum das letzte mal geschrieben/geändert wurden.
Delphi-Quellcode:
procedure FindWrittenBeforeDate(AMask: String; ADate: TDateTime; ADest: TStrings);
function LConfFileTimeToDateTime(const AFileTime: TFileTime): TDateTime;
var LTime: TSystemTime;
begin
FileTimeToSystemTime(AFileTime, LTime);
with LTime do
result := EncodeDateTime(wYear, wMonth, wDay, wHour, wMinute, wSecond, wMilliseconds);
end;
var LSearchRec: TSearchRec;
begin
ADest.BeginUpdate;
if FindFirst(AMask, faAnyFile, LSearchRec) = 0 then
begin
repeat
if (LSearchRec.Attr and faDirectory = 0) and
(Trunc(LConfFileTimeToDateTime(LSearchRec.FindData.ftLastWriteTime)) < Trunc(ADate)) then
ADest.Add(LSearchRec.Name);
until FindNext(LSearchRec) <> 0;
end;
ADest.EndUpdate;
end;
Beispielaufruf um alle Dateien aus "c:\temp" zu finden die vor dem aktuellen tag das letzte mal geändert wurden.
FindWrittenBeforeDate('c:\temp\*', Date, Memo1.Lines);