AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dateien löschen älter als xxx

Ein Thema von SaFu · begonnen am 18. Jun 2008 · letzter Beitrag vom 18. Jun 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#1

Dateien löschen älter als xxx

  Alt 18. Jun 2008, 15:45
Hi

steh mal wieder vor einem Problem hab diesen code hier gefunden in der DP
Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
Var SearchRec :TSearchRec;
begin
  if FindFirst(JvComputerInfoEx1.Folders.Desktop+ '\'+ExtractFileName(ShellTreeView2.Path)+'\*.*', faDirectory, SearchRec) = 0 then
  begin
    showmessage((JvComputerInfoEx1.Folders.Desktop+ '\'+ExtractFileName(ShellTreeView2.Path)+'\'));
    repeat
       if (SearchRec.Attr <> faDirectory) and (SearchRec.Name <>'.') and (SearchRec.Name <>'..') then
       begin
        showmessage(SearchRec.Name);
        if FileDateToDateTime(FileAge(JvComputerInfoEx1.Folders.Desktop+ '\'+ExtractFileName(ShellTreeView2.Path)+'\' + SearchRec.Name)) < (Date -20) then
        begin
          DeleteFile(JvComputerInfoEx1.Folders.Desktop+ '\'+ExtractFileName(ShellTreeView2.Path)+'\' + SearchRec.Name); // Delete File
        end;
       end;
    until FindNext(SearchRec) <> 0;
  end;
  FindClose(SearchRec);
end;
Jetzt ist mein problem das ich nicht weiter komme bis zum showmessage ich bin der Meinung das es so stimmt. der Pfad stimmt aber

Gruß Sascha
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Dateien löschen älter als xxx

  Alt 18. Jun 2008, 15:48
Was geht denn nicht?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von F.W.
F.W.

Registriert seit: 28. Jul 2003
Ort: Zittau
636 Beiträge
 
#3

Re: Dateien löschen älter als xxx

  Alt 18. Jun 2008, 15:49
Ich denke mal dein Code hört schon zum ersten mal da auf:
FindFirst( ... , faDirectory, ... ) Denn damit erhälst du ja nur Verzeichnisse. Selbst wenn du Verzeichnisse auf deinem Desktop hast, würde es dann mit
 if (SearchRec.Attr <> faDirectory) and (SearchRec.Name <>'.') and (SearchRec.Name <>'..') then eh nicht weitergehen, denn wenn oben nur faDirectory aufgelistet wird und unten steht if Attr <> faDirectory, schließt sich das von selbst aus.

Übergib beim FindFirst mal faAnyFile!
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Dateien löschen älter als xxx

  Alt 18. Jun 2008, 15:53
Außerdem ist der Vergleich sowieso nicht optimal.
Schlecht:if (SearchRec.Attr <> faDirectory) Besser:if ((SearchRec.Attr and faDirectory) <> faDirectory)
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Dateien löschen älter als xxx

  Alt 18. Jun 2008, 15:53
Wenn ich das Programm starte und denn Button ausführe geht die Procedure nichtmal bis zum showmessage

aber FaAnyFile geht auch nicht ich versuche im Verzeichnis der Shelltreeview alle Dateien zu löschen die älter als 90 Tage sin (ich weis immoment sind es nur 7 Tage)
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Dateien löschen älter als xxx

  Alt 18. Jun 2008, 15:55
Setz doch das erste ShowMessage mal direkt hinter das begin.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#7

Re: Dateien löschen älter als xxx

  Alt 18. Jun 2008, 15:56
Hab ich doch da wird der Pfad angezeigt und der ist auch richtig
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Dateien löschen älter als xxx

  Alt 18. Jun 2008, 15:58
Und Dateien sind drin? Bzw. Verzeichnisse, da Du ja nach denen suchst.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: Dateien löschen älter als xxx

  Alt 18. Jun 2008, 16:01
hab jetzt den Pfad mal etwas angepasst aber jetzt komme ich auch weiter nur gelöcht wir Trotzdem nichts
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von F.W.
F.W.

Registriert seit: 28. Jul 2003
Ort: Zittau
636 Beiträge
 
#10

Re: Dateien löschen älter als xxx

  Alt 18. Jun 2008, 16:10
Um Fehler zu vermeiden, würde ich dir empfehlen, dass du den Pfad mal in eine extra Variable speicherst, denn so wird der Quellcode ganz schnell unübersichtlich. Außerdem kannst du so relativ einfach eine Änderung am Pfad vornehmen, solltest du einen Fehler an ihm bemerken.

Schau mal, ob du an Stelle von
FileDateToDateTime(FileAge(JvComputerInfoEx1.Folders.Desktop+ '\'+ExtractFileName(ShellTreeView2.Path)+'\' + SearchRec.Name)) nicht einfach SearchRec.Time benutzen kannst.

Das erstmal nur als Hinweise.

Ein Knackpunkt ist noch, dass Dateien ja mehrere Datums/Daten haben: Erstellungsdatum, Datum des letzten Zugriffs und Datum der letzten Änderung (auf NTFS glaube ich sogar noch eins mehr)
Check mal, ob FileDateToDateTime oder SearchRec.Time überhaupt die richtigen Daten angeben!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz