Einzelnen Beitrag anzeigen

Andreas L.
(Gast)

n/a Beiträge
 
#1

Leere Verzeichnisse rekursiv löschen

  Alt 7. Mai 2009, 15:23
Hi,
ich möchte alle leeren Verzeichnisse + Unterverzeichnisse löschen. Mein Code verursacht leider eine Endlosschleife:
Delphi-Quellcode:
procedure DeleteEmptyDirectories(Path: String);
var
  iFolder, iFile: Integer;
  Folders, Files: TStrings;
begin
  Folders := TStringList.Create;
  FindAllFiles(Folders, Path, '*', False, True, True);
  for iFolder := Folders.Count -1 downto 0 do
  begin
    Files := TStringList.Create;
    FindAllFiles(Files, Folders[iFolder], '*', True, True, True);
    for iFile := Files.Count -1 downto 0 do
    begin
      if DirectoryExists(Files[iFile]) then
        DeleteEmptyDirectories(Path);
    end;
    if Files.Count > 0 then
      RemoveDir(Folders[iFolder]);
    Files.Free;
  end;
  Folders.Free;
end;
Hab' da wohl einen Denkfehler drin. Nur welchen?
  Mit Zitat antworten Zitat