![]() |
bestimmte Dateien suchen und automatisch löschen
Hallo,
ich habe eine Frage. Und zwar habe ich im Laufe der Zeit meinen Rechner bisserl zugemüllt. Nun möchte ich mit Delphi folgendes bewerkstelligen. Delphi soll sämtliche Verzeichnisse und Dateien nach einem bestimmten, vordefinierten Namen durchsuchen und diese Dateien / Verzeichnisse anschliessend löschen. Dafür brauch ich keine Schaltfläche oder sonstiges. Der Name der Datei/ des Verzeichnisses, soll direkt im Quelltext festgelegt werden. Sobald ich das Programm dann starte soll nach z. Bsp. test123 gesucht werden. Sofern dann eine Datei oder mehrere Dateien/Verzeichnisse mit diesem Namen gefunden werden, sollen diese gelöscht werden. Delphi soll aber direkt löschen und nicht nur in den Papierkorb verschieben. Gibt es da irgendeine Möglichkeit das mit Delphi 3 zu bewerkstelligen ? Danke JD |
Re: bestimmte Dateien suchen und automatisch löschen
Herzlich willkommen in der Delphi-PRAXiS, JohnDee.
Geht es dir um das Bereinigen deiner Festplatte, dann kannst du das mit dem Shell-Befehl XDEL /S erledigen. Willst du das aus irgendwelchen Gründen mit Delphi programmieren, dann wirst du dich mit FindFirst() und den zugehörigen Funktionen FindNext() und FindClose(), nicht zu vergessen DeleteFile(), beschäftigen müssen. Freundliche Grüße |
Re: bestimmte Dateien suchen und automatisch löschen
|
Re: bestimmte Dateien suchen und automatisch löschen
gibt es da keine einfache möglichkeit mit deletefile ?
muss doch irgendwie möglich sein zu sagen durchsuche laufwerke nach datei test1234 wenn gefunden dann lösche datei 1234 mehr soll ja nicht passieren, weder irgendeine oberfläche noch nen button oder sonst was |
Re: bestimmte Dateien suchen und automatisch löschen
Doch, gibt es:
Eine Batch-Datei namens deletefile.bat erstellen, die dann XDEL aufruft :mrgreen: Zitat: > weder irgendeine oberfläche noch nen button oder sonst was Dazu wird noch nicht einmal Delphi benötigt, notepad genügt da völlig :love: Mit Delphi wird's aber wesentlich aufwändiger, es sei denn, Du lässt Delphi die Batch-Datei erstellen... |
Re: bestimmte Dateien suchen und automatisch löschen
hehe,
okay das wäre perfekt ... aaaaaber... was schreib ich rein in die batchdatei wahrscheinlich irgendwas mit del ... hehe , okay das is mir klar aber weiter wüsst ich jetzt nicht nochmal schnell nen nachtrag gibt es auch ne möglichkeit batchbefehle aus delphi heraus auszuführen.. wenn ja ... wie ? |
Re: bestimmte Dateien suchen und automatisch löschen
Naja, XDEL (marabu, schäm Dich!) kennt Windows eh nicht ;-)
Klick mal auf Start/Ausführen und gib "cmd" ein. Tipp dann "del /?" ein und überleg' Dir, was Dein Delphi-Programm wissen/vom Benutzer abfragen muß, um die von Dir gewünschte(n) Datei(en) oder Ordner finden und löschen zu können. Dann sehen wir weiter. Zu Deinem Nachtrag: Jain, "Batch-Befehle" kann Delphi nicht ausführen, Batch-Dateien aber schon (mit z.B. "shellexecute"). |
Re: bestimmte Dateien suchen und automatisch löschen
Test, test, eins zwo eins zwei test test ;-)
Delphi-Quellcode:
HTH
unit UnitMkDelBatch;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs; type TFormMakeDelBatch = class(TForm) procedure FormCreate(Sender: TObject); procedure FormShow(Sender: TObject); private { Private-Deklarationen } procedure MakeTheBatchFileWithNewString; public { Public-Deklarationen } end; var FormMakeDelBatch: TFormMakeDelBatch; implementation {$R *.DFM} var sBatchFileName: string; sDeleteThis: string; sNewString: string; sHorror: string; procedure TFormMakeDelBatch.FormCreate(Sender: TObject); begin sHorror := '*.*'; sBatchFileName := ExtractFilePath(paramstr(0)) + 'MkDelBatch.BAT'; if FileExists(sBatchFileName) then DeleteFile(sBatchFileName) else MessageBox(Handle, 'Batch-Datei nicht gefunden :-)', 'MkDelBatch', mb_Ok or mb_DefButton1); Hide; end; procedure TFormMakeDelBatch.FormShow(Sender: TObject); var NewString: string; ClickedOK: Boolean; begin sNewString := ''; NewString := '*.*'; ClickedOK := InputQuery('Dateneingabe für Datei-/Ordnernamen', 'Was soll in/mit der Batch-Datei gelöscht werden?', NewString); if ClickedOK then begin MessageBox(Handle, PChar(NewString), 'MkDelBatch', mb_Ok or mb_DefButton1); sNewString := NewString; MakeTheBatchFileWithNewString; exit; end else begin sNewString := ''; close; exit; end; end; procedure TFormMakeDelBatch.MakeTheBatchFileWithNewString; begin MessageBox(Handle, 'Hier unten würde die Batch-Datei erzeugt werden können :-)', 'MkDelBatch', mb_Ok or mb_IconHand or mb_DefButton1) end; end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz