Slet "låste" jpg's automatisk
Jeg skal slette alle jpg der bliver autogenereret på en webserver. Den kode jeg er kommet frem til virker tildels.program DeleteJPG;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
searchResult : TSearchRec;
sDir : string;
begin
sDir := paramstr(1);
if not DirectoryExists(sDir) then exit;
sDir := IncludeTrailingBackslash(sDir);
if FindFirst('*.jpg', faAnyFile, searchResult) = 0 then begin
repeat
DeleteFile(sDir+searchResult.Name);
until FindNext(searchResult) <> 0;
FindClose(searchResult);
end;
end.
Problemet er at flere (næste alle jpg) er brugt eller ikke frigivet, et andet sted i systemet. De kan heller ikke slettes i stifinder. De kan kun slettes efter reboot.
Er der ikke en måde man kan tvinge en slet frem på, selv om et andet aktivt program tilsyneladende har en pseudoreference til jpg'ene ?