Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - files batchmäßig löschen


Calculon - Fr 27.10.06 16:39
Titel: files batchmäßig löschen
Hi allerseits,
ich würde gerne den "deletefile"-Befehl in einer repeat-Schleife (in Konsolenanwendung) automatisch anwenden. Also alle Dateien in einem Unterverzeichnis sollen gelöscht werden. Was per Kommandozeile einzeln super funktioniert verweigert in einer Schleife die Arbeit. Ist das eine Schutzfunktion, dass verhindern soll, dass das Öffnen von Exe-Dateien verheerende Auswirkungen auf die Dateien des User haben könnte?

Hier ein wenig Code:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
  repeat
   if (FindRec.Name <> '.'and (FindRec.Name <> '..'then
    begin
      // hier kommt immer 'Nothing Happened!' und die Datei ist auch noch da:
      if DeleteFile(findrec.name) then
      writeln(' ' + findrec.name + ' deleted!'
      else writeln('Nothing happened!');
    end;
  until FindNext (FindRec) <> 0;
FindClose (FindRec);


Gruß


AXMD - Fr 27.10.06 16:47

findrec.Name ist nur der Dateiname, Delete braucht aber den ganzen Pfad.

AXMD


Calculon - Fr 27.10.06 16:57

Ja, daran lags!
Danke für deine Hilfe!
Gruß