{******************************************************************************
기능 : 파일삭제함수
input : 디렉토리,삭제 할 파일
output :
example: file_Delete('c:\Temp\','*.txt');
******************************************************************************}
procedure file_Delete(cS_Path,cS_File:String);
Var
SearchRec : TSearchRec;
begin
if cS_Path[Length(cS_Path)] <> '\' then
cS_Path := cS_Path + '\';
if Not DirectoryExists(cS_Path) then Exit;
if (FindFirst(cS_Path+cS_File,faAnyFile,SearchRec) = 0) then
begin
try
DeleteFile(cS_Path+SearchRec.Name);
While (FindNext(SearchRec) = 0) do
DeleteFile(cS_Path+SearchRec.Name);
finally
// 파일 스트림 닫는다
FindClose(SearchRec);
end;
end;
end;
<!--CodeS-->
procedure DeleteFiles (const Path, Mask : string; recursive : boolean);
var
Result : integer;
SearchRec : TSearchRec;
begin
Result := FindFirst(Path + Mask, faAnyFile - faDirectory, SearchRec);
while Result = 0 do
begin
if not DeleteFile (Path + SearchRec.name) then
begin
FileSetAttr (Path + SearchRec.name, 0); { reset all flags }
DeleteFile (Path + SearchRec.name);
end;
Result := FindNext(SearchRec);
end;
FindClose(SearchRec);
if not recursive then
exit;
Result := FindFirst(Path + '*.*', faDirectory, SearchRec);
while Result = 0 do
begin
if (SearchRec.name <> '.') and (SearchRec.name <> '..') then
begin
FileSetAttr (Path + SearchRec.name, faDirectory);
DeleteFiles (Path + SearchRec.name + '', Mask, TRUE);
RmDir (Path + SearchRec.name);
end;
Result := FindNext(SearchRec);
end;
FindClose(SearchRec);
end;
EXAMPLE : DeleteFiles ('c:temp', '*.txt', True);
<!--CodeE-->
WinXP에서 프로그램자체에서 도스 명령프롬프트의 폴더안의 파일들을 삭제할려고 합니다 if FileExists('c:\aaa\*.') then begin messagedlg('c:\aaa폴더안의 임시파일 삭제!!!', mtWarning,[mbok],0); DeleteFile('c:\aaa\*.*'); end; 머...
마이크로김
•
2005.11.03 01:23
저는 갠적으로 함수 만들어 사용하고 있는데요....
{**********************************************...
저는 갠적으로 함수 만들어 사용하고 있는데요....
{******************************************************************************
기능 : 파일삭제함수
input : 디렉토리,삭제 할 파일
output :
example: file_Delete('c:\Temp\','*.txt');
******************************************************************************}
procedure file_Delete(cS_Path,cS_File:String);
Var
SearchRec : TSearchRec;
begin
if cS_Path[Length(cS_Path)] <> '\' then
cS_Path := cS_Path + '\';
if Not DirectoryExists(cS_Path) then Exit;
if (FindFirst(cS_Path+cS_File,faAnyFile,SearchRec) = 0) then
begin
try
DeleteFile(cS_Path+SearchRec.Name);
While (FindNext(SearchRec) = 0) do
DeleteFile(cS_Path+SearchRec.Name);
finally
// 파일 스트림 닫는다
FindClose(SearchRec);
end;
end;
end;