如何清空一个 文件夹的的所有文件?(50分)

  • 主题发起人 主题发起人 金少
  • 开始时间 开始时间

金少

Unregistered / Unconfirmed
GUEST, unregistred user!
如何清空一个 文件夹的的所有文件?
 
uses
shellapi;

function DelDir(const Source:string): boolean;
var
fo: TSHFILEOPSTRUCT;
begin
FillChar(fo, SizeOf(fo), 0);
with fo do
begin
Wnd := 0;
wFunc := FO_DELETE;
pFrom := PChar(source+#0);
pTo := #0#0;
fFlags := FOF_NOCONFIRMATION+FOF_SILENT;//FOF_SILENT表示不出现对话框
end;
Result := (SHFileOperation(fo) = 0);
end;
 
土办法是用递归来搜出所有文件和子目录,逐个删除

有一个Shell函数可以整个目录删除,但是怎么写忘记了
 
uses ShellAPI;
删除目录:

function DelDirectory(const Source:string): boolean;
var
fo: TSHFILEOPSTRUCT;
begin
FillChar(fo, SizeOf(fo), 0);
with fo do
begin
Wnd := 0;
wFunc := FO_DELETE;
pFrom := PChar(source+#0);
pTo := #0#0;
fFlags := FOF_NOCONFIRMATION+FOF_SILENT;
end;
Result := (SHFileOperation(fo) = 0);
end;
 
这个系统文件不能删除
 
多人接受答案了。
 
后退
顶部