Einzelnen Beitrag anzeigen

Benutzerbild von everdream
everdream

Registriert seit: 22. Feb 2007
Ort: Hiddenhausen
192 Beiträge
 
Delphi 2005 Personal
 
#1

Dateien mit bestimmter Endung löschen (Kompilieren)

  Alt 3. Jun 2008, 08:24
Hallo liebe DP,

diesen Post braucht nur zu lesen, wer Langeweile hat und mir gerne helfen würde. Z.z. arbeite ich im Ausland und wollte mir hier zur Arbeitserleichterung und Leistungssteigerung ein kleines Tool schreiben, das alle Dateien mit der Endung *.ois im aktuellen und in untergeordneten Verzeichnissen löscht.

Mein Problem ist, dass ich hier kein Delphi zur Verfügung habe, der Code an sich ist nicht die Schwierigkeit.

Ich habe das Programm geschrieben und poste es einfach mal. Wenn irgendjemand grade nichts zu tun hat, wäre ich ihr/ihm dankbar, wenn sie/er den Code per Copy&Paste in Delphi übertragen, kurz nach (Tipp)Fehlern suchen und es dann kompilieren und an einen Beitrag anhängen könnte.

Das wäre echt super!

Falls sich jemand entscheidet mir zu helfen, sollte diese Person einen kurzen Post "Mach ich" oder so abschicken, damit dann jeder weiß, dass schon jemand dran sitzt.

Schonmal Vielen Dank!

hier der Code:
Delphi-Quellcode:
uses
 {"Standard"}, FileCtrl;

type
  {kleine Form mit einem Button BtRemoveFiles (Caption = '*.OIS-Dateien löschen' oder so}


{BtRemoveFilesClick-procedure:}
var
  Dir: string;
begin
  Dir:=GetFilePath(Application.ExeName);
  DeleteOISFiles(Dir, 6);
end;


procedure DeleteOISFiles(const Dir: string; depth: byte);
var
  SearchRec: TSearchRec;
begin
  SetCurrentDir(Dir);
  if ((depth > 0) and (FindFirst('*', faAnyFile, SearchRec) = 0)) then
  begin
    try
      repeat
        if (SearchRec.Attr = faDirectory) then
          DeleteOISFiles(Dir + SearchRec.Name, depth-1)
        else
          if GetFileExt(Dir + SearchRec.Name) = '.oisthen
            DeleteToRecycleBin(Dir + SearchRec.Name);
      until FindNext(SearchRec) <> 0;
    finally
      FindClose(SearchRec);
    end;
  end;
end;


function DeleteToRecycleBin(const AFile: string): boolean; //Vom Delphi Treff
var
  Operation: TSHFileOpStruct;
begin
  with Operation do
  begin
    Wnd := Application.Handle;
    wFunc := FO_DELETE;
    pFrom := PChar(AFile +#0);
    pTo := Nil;
    fFlags := FOF_ALLOWUNDO or FOF_NOCONFIRMATION;
  end;
  Result := SHFileOperation(Operation) = 0;
end;
Max
"Das Ziel ist im Weg!"
  Mit Zitat antworten Zitat