![]() |
Dateien in Verzeichnissen per UNC löschen!
Hi,
wie kann ich alle Dateien in einem Verzeichnis per UNC löschen...ich habs momemtan so gelöst...geht das?
Delphi-Quellcode:
Gruß
Procedure FindFiles (aPath, aFindMask: String; aWithSub: Boolean);
Var FindRec: tSearchRec; Begin // Wenn die Stringliste nil ist oder aPath oder aFind nicht angegeben ist // dann raus If (aPath = '') or (aFindMask = '') Then Exit; // Wenn am Ende der Pfadangabe noch kein \ steht, dieses hinzufügen If aPath[Length (aPath)] <> '\' Then aPath := aPath + '\'; // Im aktuellen Verzeichnis nach der Datei suchen If FindFirst (aPath + aFindMask, faAnyFile, FindRec) = 0 Then Repeat If (FindRec.Name <> '.') and (FindRec.Name <> '..') Then // ...Ergebnis in die Stringlist einfügen DeleteFile('\\?\'+aPath + FindRec.Name); Until FindNext (FindRec) <> 0; FindClose (FindRec); // Wenn nicht in Unterverzeichnissen gesucht werden soll dann raus If Not aWithSub Then Exit; // In Unterverzeichnissen weiter suchen If FindFirst (aPath + '*.*', faAnyFile, FindRec) = 0 Then Repeat If (FindRec.Name <> '.') and (FindRec.Name <> '..') Then // Feststellen, ob es sich um ein Verzeichnis handelt If Boolean (FindRec.Attr and faDirectory) Then // Funktion erneut aufrufen, um Verzeichnis zu durchsuchen (Rekursion) FindFiles (aPath + FindRec.Name, aFindMask, aWithSub); Until FindNext (FindRec) <> 0; FindClose (FindRec); End; procedure TForm1.Button1Click(Sender: TObject); begin FindFiles ('c:\programme\programmxy\temp', '*.*', True); end; Alex |
Re: Dateien in Verzeichnissen per UNC löschen!
Also ich hab soein Problem ähnlich gelöst und so, wie ich das sehe, sollte es gehn.
PS: der Name "FindFiles" ist wohl ein bissl irritierend ... versuchs mal z.B. mit "DeleteFiles" :zwinker: |
Re: Dateien in Verzeichnissen per UNC löschen!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:59 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