Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Dateien mit bestimmter Endung löschen (Kompilieren) (https://www.delphipraxis.net/114938-dateien-mit-bestimmter-endung-loeschen-kompilieren.html)

everdream 3. Jun 2008 08:24


Dateien mit bestimmter Endung löschen (Kompilieren)
 
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! :thumb:

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) = '.ois' then
            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;

Luckie 3. Jun 2008 08:33

Re: Dateien mit bestimmter Endung löschen (Kompilieren)
 
Zitat:

Zitat von everdream
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.

Code:
del /s *.ois
Als delois.cmd in einer Textdatei speichern und in dem Ordner aufrufen in dem die ois-Dateien und die Unterordner liegen.

taaktaak 3. Jun 2008 08:36

Re: Dateien mit bestimmter Endung löschen (Kompilieren)
 
Ja, ja, wie war das Leben doch früher einfach! Da hatte man seine Batchdatei und kannte sich auch damit aus... :zwinker:

everdream 3. Jun 2008 08:38

Re: Dateien mit bestimmter Endung löschen (Kompilieren)
 
so gehts natürlich auch, vielen Dank :-D

RavenIV 3. Jun 2008 09:11

Re: Dateien mit bestimmter Endung löschen (Kompilieren)
 
Ich würd's aber grad so schreiben:
Code:
del *.ois /s /f /q
Dann wird nämlich ohne dumm rumfragen gelöscht (/q).
und es werden auch schreibgeschützte Files gelöscht (/f).

everdream 3. Jun 2008 11:28

Re: Dateien mit bestimmter Endung löschen (Kompilieren)
 
Es wird auch so "ohne dumm rumfragen" gelöscht. Schreibgeschützt sind die Files zwar nicht, aber danke, jetzt weiß ich wie ich's mache, wenn ich's mal brauche ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:14 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