![]() |
AW: Bestimmte Dateien und Verzeichnise in einem Stammverzeichnis löschen
So danke für deine hilfe (FileSearch) hat mir sehr dabei geholfen.
Wie stelle ich das nun mit den Ordnern an, also ich möchte in einem Stammverzeichnis nach bestimmten Ordnern suchen und diese löschen. |
AW: Bestimmte Dateien und Verzeichnise in einem Stammverzeichnis löschen
Redest Du jetzt von der Komponente? Wie sind die "bestimmten Ordner" denn definiert?
|
AW: Bestimmte Dateien und Verzeichnise in einem Stammverzeichnis löschen
Nein die komponente hab ich nicht gemeint ich hab bissal was daraus verwendet können und mir selbst was zusammengestöpselt... wollt eure unterhaltung in meinem thread nicht stören. jetzt wüsst ich gern wenn ich einen Ordner namens "Ordner1" in einem Verzeichnis löschen auch wenn er unterverzeichnisse hat in dem dieser Ordner enthalten sein könnte.
|
AW: Bestimmte Dateien und Verzeichnise in einem Stammverzeichnis löschen
Ich schlage vor, das Du das so machst wie es unter DOS mal notwendig war,
Code:
Gruß
Zu löschendes Verzeichnis suchen
:1 bis in das unterste Verzeichnis durchhangeln :2 alle Inhalte löschen : wenn startverzeichnis=aktuelles verzeichnis goto :ende eine Ebene zurück wenn Verzeichnisse enthalten sind goto :1 wenn nicht goto :2 :ende verzeichnis löschen K-H |
AW: Bestimmte Dateien und Verzeichnise in einem Stammverzeichnis löschen
Okay das zum löschen eines Verzeichnisses hab ich bereits hier in der community gefunden.. ich hab mir so überlegt, ich würde gern die pfade wo sich der Ordner oder wenn mehr in dem Stammverzeichnis vorkommen gerne an eine Stringlist übergeben.. aber wie suche ich nach einem Ordnernamen?
|
AW: Bestimmte Dateien und Verzeichnise in einem Stammverzeichnis löschen
Delphi-Quellcode:
Sollte Verzeichnisse finden, deren Name mit Test beginnt.
FindFirst(Pfad + 'Test*', faDirectory, SearchRec)
|
AW: Bestimmte Dateien und Verzeichnise in einem Stammverzeichnis löschen
Ja das FindFirst geht aber er durchsucht mir nicht die unterverzeichnisse :(
|
AW: Bestimmte Dateien und Verzeichnise in einem Stammverzeichnis löschen
Dann musst Du rekursiv suchen. Du hast doch meinen Quelltext, und in der Code-Library gibt es auch genügend Beispiele.
|
AW: Bestimmte Dateien und Verzeichnise in einem Stammverzeichnis löschen
|
AW: Bestimmte Dateien und Verzeichnise in einem Stammverzeichnis löschen
Zitat:
Solltest du nur Ordner suchen, dann guck in der zweiten Hälfte wie nach Ordnern gesucht wird.
Delphi-Quellcode:
Bedenke bitte, dass du jetzt rekursiv arbeitest. Solltest du auf die Idee kommen List mit einem try except Block zu schützen, fliegt dir bei einer Exception die ganze Funktion um die Ohren, da wegen rekursiv dann immer wieder auf eine freigegebene TStrings-Liste zugegriffen wird.
//Liefert Datei-Liste laut Maske
procedure GetFiles(Path, ExtMask: String; List: TStrings; SubFolder: Boolean); var Attrib: Integer; Search: TSearchRec; begin if Length(Path) > 0 then if Path[Length(Path)] <> '\' then Path := Path + '\'; Attrib := faArchive or faReadOnly or faHidden;// damit es keinen Krach gibt if FindFirst(Path + '*.' + ExtMask, Attrib, Search) = 0 then repeat List.Add(Path + Search.Name); until FindNext(Search) <> 0; FindClose(Search); if SubFolder then begin if FindFirst(Path + '*.*', faDirectory, Search) = 0 then repeat if ((Search.Attr and faDirectory) = faDirectory) and (Search.Name[1] <> '.') then GetFiles(Path + Search.Name, ExtMask, List, SubFolder); until FindNext(Search) <> 0; FindClose(Search); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:39 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