![]() |
Dateien in einem Verzeichnis löschen ohne den Ordner selber
Hallo,
ich suche eine Möglichkeit, schnell alle Dateien in einem Verzeichnis zu löschen, auch Unterverzeichnisse ohne das eigentliche Verzeichnis mit zu löschen. Ich habe mir gedacht zunächst alle Dateien mit FindFirst/FindNext aufzulisten und diese dann zu löschen. Dieser Vorgang dauert aber auch seine gewissen Zeit. Zudem würde ich das gerne mit einem Fortschrittsbalken verbinden. Das Problem ist also eine schnelle Möglichkeit zu finden. :wink: Hat jemand eine Idee? Gruß Mazel |
Re: Dateien in einem Verzeichnis löschen ohne den Ordner sel
mit
![]() Danach kannst du ja wieder den Ordner erstellen. |
Re: Dateien in einem Verzeichnis löschen ohne den Ordner sel
Diese Lösung habe ich mir auch schon angeschaut würde ich auch verwenden, aber ich frage ja nicht umsonst nach einer Möglichkeit nur den Inhalt zu löschen, denn wenn ich einen tragbaren Player angeschlossen habe, bei dem ich den Inhalt in H:\ löschen möchte, kann ich nicht H:\ neu anlegen bzw. die gezeigte Routine läuft dann leider nicht weil sie ja H:\ auch löschen möchte.
|
Re: Dateien in einem Verzeichnis löschen ohne den Ordner sel
die Funktion akzeptiert auch mehrere Dateien und Ordner. Du musst also nur die Unterobjekte dort übergeben, welches mit FindFirstFile schnell geht.
|
Re: Dateien in einem Verzeichnis löschen ohne den Ordner sel
In dem Verzeichnis sind aber nicht nur Unterordner sondern möglichwerweise auch mehrere 100 anderer Dateien. Da muss ich ja H:\ angeben und das geht leider nicht.
|
Re: Dateien in einem Verzeichnis löschen ohne den Ordner sel
du zählst die Dateien und Ordner von H: mit FindFirst auf. Das geht sehr schnell, selbst bei 100 Dateien und mehr.
Dann kannst du diese Dateinamen der Funktion übergeben, indem du einen entsprechend großen Speicherbereich erstellst und dort die Datei/Ordnerpfade (h:\XY) reinkopierst und mit #0 trennst, bzw. mit #0#0 abschliest. |
Re: Dateien in einem Verzeichnis löschen ohne den Ordner sel
Hallo Marcel,
hast du es mit Wildcard-Angabe versucht?
Delphi-Quellcode:
Gruß Hawkeye
var
Info : TSHFileOpStruct; begin FillChar (Info, SizeOf(Info), 0); Info.wFunc := FO_DELETE; Info.pFrom := 'd:\YourFolder\*'#0; Info.pTo := nil; SHFileOperation(Info); end; |
Re: Dateien in einem Verzeichnis löschen ohne den Ordner sel
Zitat:
Wieder mal nicht auf das einfachste gekommen ;) [Edit] Was ist eigentlich mit #0 gemeint? [/Edit] Danke Gruß Mazel |
Re: Dateien in einem Verzeichnis löschen ohne den Ordner sel
Zitat:
Gruß Hawkeye |
Re: Dateien in einem Verzeichnis löschen ohne den Ordner sel
OK,
danke für die Info. :thumb: Gruß Mazel |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:49 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