如何实现内含文件夹的非空文件夹的删除和拷贝?(100分)

  • 主题发起人 主题发起人 virgolty
  • 开始时间 开始时间
V

virgolty

Unregistered / Unconfirmed
GUEST, unregistred user!
对于一个指定的非空文件夹,如何删除它?<br>虽然有人回答过这个问题,但是当其中内嵌文件夹时,就不能删除!<br>请问各位大虾,应该如何做????
 
怎么样删除一个非空文件夹最快.(别对我说递归)<br><br>来自:kthy 时间:01-3-23 13:50:53 ID:477801<br>var<br>&nbsp; lsPath: string;<br>&nbsp; FileOp: TSHFileOpStruct;<br>begin<br>&nbsp;lsPath := 'c:/temp/';<br>&nbsp; //删除临时文件<br>&nbsp; with FileOp do begin<br>&nbsp; &nbsp; Wnd := 0;<br>&nbsp; &nbsp; wFunc := FO_DELETE;<br>&nbsp; &nbsp; pFrom := PChar(lsPath &nbsp;+ '*.*' + #0); &nbsp; &nbsp; //取目录,与isFaq没有实际关系<br>&nbsp; &nbsp; pTo := nil;<br>&nbsp; &nbsp; fFlags := FOF_SILENT + FOF_NOCONFIRMATION ;<br>&nbsp; &nbsp; fAnyOperationsAborted := False;<br>&nbsp; &nbsp; hNameMappings := nil;<br>&nbsp; &nbsp; lpszProgressTitle := nil;<br>&nbsp; end;<br>&nbsp; SHFileOperation(FileOp);<br>&nbsp; RemoveDir(lsPath );<br>end;<br><br>&nbsp; 完全可以搞定呀。我将其中的子目录(里面还有文件)设置为只读+隐藏都删掉了。<br>别忘了 uses ShellAPI;
 
用:SHFileOperation函数吧,你提的问题就不是问题了。^_^
 
多谢各位仁兄!!还有两个问题!<br>creation-zy:在TEMP文件夹中有一些奇怪的东东如:_istmp1.dir文件夹<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;和~df68e2.tmp这样的文件应该怎么删除呢?<br>DragonPC_???:用Winexec( 'deltree ****') ;怎么给DELTREE配上/Y的参数呢?
 
多奇怪的东东也是文件,照删不误。
 
LWW:可否详细讲解一下SHFileOperation函数,多谢!
 
&gt;TEMP文件夹中有一些奇怪的东东<br>&nbsp; 只要这些文件不是正在被别的程序使用,都可以删除,决无问题。(Windows的Temp文件夹中经常有部分<br>文件正在被别的程序所使用)<br>&nbsp; 如果有程序删不掉的文件,这些文件中必定有文件现在是不可删除的。<br><br>&gt;SHFileOperation<br>&nbsp; MSDN.
 
SHFileOperation函数Delphi自带的帮助里就有呀
 
接受答案了.
 
后退
顶部