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