Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Dateien auf gesamter Festplatte löschen (https://www.delphipraxis.net/87411-dateien-auf-gesamter-festplatte-loeschen.html)

-187- 28. Feb 2007 12:33


Dateien auf gesamter Festplatte löschen
 
Hallo, ich möchte bestimmte Dateien auf der gesammten Festplatte löschen.

zB Dos Command : del c:\test.txt /s

Jetzt hab ich mir ein Code gebastelt der aber nur die erst möglichle Datei löscht.
zb:

c:\test.txt
c:\programme\test.txt

Es wird nur c:\test.txt gelöscht!


Delphi-Quellcode:
var APathFound: String;

if SearchForFile('c:\', 'test.txt', APathFound) then
DeleteFile(ApathFound+'test.txt');
Ich möchte aber alle test.txt gelöscht haben.

MFG

fLaSh11 28. Feb 2007 12:49

Re: Dateien auf gesamter Festplatte löschen
 
(Was mir spontan einfallen würde:

1) nimm eine DirectoryListBox
2) zähle eine Variable von 0 bis max und lese dann mithilfe der DirectoryListBox an der Stelle x einen Pfad aus (insgesamt hast du dann alle durch)
3) schau mit FileExists ob eine "test.txt" dort existiert
4) ggf. löschen

Ob's praktisch taugt weiß ich nicht... :mrgreen:)



Wie wärs, wenn du einfach del c:\test.txt /s an die Konsole übergibst?

sirius 28. Feb 2007 12:55

Re: Dateien auf gesamter Festplatte löschen
 
Da solltest du einfach rekursiv durch alle Verzeichnisse rennen.

TeronG 28. Feb 2007 12:56

Re: Dateien auf gesamter Festplatte löschen
 
FindAllFiles (siehe CodeLib) ...
Entweder gleich diese nehmen oder dort "abschauen" wie man alle Verzeichnisse nach best. Dateien durchsucht :mrgreen:

Luckie 28. Feb 2007 12:56

Re: Dateien auf gesamter Festplatte löschen
 
Wie wäre es mit einer Schleife über die List der Dateien?

-187- 28. Feb 2007 13:04

Re: Dateien auf gesamter Festplatte löschen
 
Danke für die Tipps.

Kannst du mir ein Beispiel nennen wie ich rekursiv suchen und löschen kann? Ich hab auf dem Gebiet noch nich soviel Ahnung.

Danke schonmal =)

Gibts evtl ne Möglichkeit mein Code umzuschreiben sodass er alle Test.txt löscht ?

MFG

Luckie 28. Feb 2007 13:08

Re: Dateien auf gesamter Festplatte löschen
 
Benutz einfach mal die Forensuchen. Quellcode, wie man die Festplatte durchsucht, gibt es hier genug.

-187- 28. Feb 2007 13:19

Re: Dateien auf gesamter Festplatte löschen
 
Lucky, dein Quellcode hat mich auf die Idee gebracht mein Code mit Repeat, Until, Finally zu verbessern.Ich hab leider damit noch nich gearbeitet und möcht wissen ob es mit meinem Code hinhauen kann oder nicht.
Ich könnt auch einfach ein entloslangen Code ausm Forum nehmen aber das bringt mir nix wenn ich es nicht verstehe also bleib ich mal hartnäckig :)

TeronG 28. Feb 2007 13:59

Re: Dateien auf gesamter Festplatte löschen
 
Zitat:

Zitat von -187-
Ich könnt auch einfach ein entloslangen Code ausm Forum nehmen aber das bringt mir nix wenn ich es nicht verstehe ...

Das is gut :thumb:
Zitat:

Zitat von -187-
Lucky ...

Ohoh .. Das ist eher weniger gut! :mrgreen:

hoika 28. Feb 2007 14:55

Re: Dateien auf gesamter Festplatte löschen
 
Hallo,

der Code ist "relativ" einfach.

FindFirst, FindNext, FindClose -> eine Methode DeleteFile
zum Suchen innerhalb eines Verzeichnisses,
dabei muss .. und . als Name ignoriert werden.

Beim Durchlaufen der Dateien muss geprüft werden,
ob es sich um ein Verzeichnis handelt,
wenn ja mit ChDir(Name) rein und den "DeleteFile" alle gewünschten Dateien löschen,
danach mit ChDir('..') wieder ein Verzeichnis zurück.

Ist also mit Rekursion verbunden.


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:14 Uhr.
Seite 1 von 2  1 2      

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