请教各位---文件删除问题

成都清香白莲 2003-10-29 09:01:33
我想删除一个文件夹,这个文件夹里面含有文件和另外的文件夹,请问怎样才能把这个文件夹彻底的删除(包括里面的文件和文件夹),我用了shfileoperation

FData.Wnd:= Handle;
FData.wFunc:= FO_DELETE;
FData.pFrom:= PChar(ExtractFilePath(paramstr(0))+'TempF\');
FData.fFlags:= FOF_ALLOWUNDO or FOF_NOCONFIRMMKDIR or FOF_MULTIDESTFILES or FOF_NOCONFIRMATION or FOF_FILESONLY;
ShFileOperation(FData)

总是提示“无法读源文件或磁盘”如果把“FData.pFrom:= PChar(ExtractFilePath(paramstr(0))+'TempF\');”改为

“FData.pFrom:= PChar(ExtractFilePath(paramstr(0))+'TempF\'+'*.*');”在调试程序的时候(也就是在delphi的源文件里执行时),老是报“无法删除,文件正在使用”,但是我只是想删除TempF文件夹,它并没有使用。

如果我把可执行文件和TempF文件夹复制到另外的地方执行,可以执行,但只能删除文件,里面的文件积却不能删除,各位该怎么解决
...全文
17 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
nhdj 2004-03-03
  • 打赏
  • 举报
回复
同时要保证所删除目录的所有文件没有被使用
nhdj 2004-03-03
  • 打赏
  • 举报
回复
可以试试:

FData.pFrom:= PChar(ExtractFilePath(application.exename))+'TempF\'+'*.*');
nhdj 2004-03-03
  • 打赏
  • 举报
回复
删除目录:
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;
成都清香白莲 2003-10-29
  • 打赏
  • 举报
回复
有没有人知道
chaozhiping 2003-10-29
  • 打赏
  • 举报
回复
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;


测试成功

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧