본문 바로가기
Delphi Tip/파일

디렉토리 삭제 및 하위 디렉토리 파일 삭제

by MonoSoft 2024. 3. 12.
728x90
반응형

디렉토리 삭제 및 하위 디렉토리 파일 삭제

728x90

 

 

 

 

uses ShellAPI;

 

/----------------------------------------------------------------

// 디렉토리 및 파일을 지운다.

// 하위 디렉토리와 모든 파일도 함께 지워진다.

// 인자 설명

// - DirName : 지울 디렉토리명

// - UseRecycleBin : 휴지통을 사용할 것인가 여부 (아니면 영구삭제)

// 리턴값 설명

// - 성공 여부

//----------------------------------------------------------------

function MinDeleteFile(const DirName : string; const UseRecycleBin: Boolean): Boolean;

var

SHFileOpStruct: TSHFileOpStruct;

DirBuf: array [0..255] of char;

Directory: string;

begin

try

Directory := ExcludeTrailingPathDelimiter(DirName);

Fillchar(SHFileOpStruct, sizeof(SHFileOpStruct), 0);

FillChar(DirBuf, sizeof(DirBuf), 0);

StrPCopy(DirBuf, Directory);

 

with SHFileOpStruct do

begin

Wnd := 0;

pFrom := @DirBuf;

wFunc := FO_DELETE;

if UseRecycleBin = True then

fFlags := fFlags or FOF_ALLOWUNDO;

fFlags := fFlags or FOF_NOCONFIRMATION;

fFlags := fFlags or FOF_SILENT; end;

Result := (SHFileOperation(SHFileOpStruct) = 0);

except

Result := False;

end;

end;

 

728x90
반응형

댓글