在页面上( RemoveDirectory() – 函数 ),他们说:“ 要删除的目录的path。这个path必须指定一个空目录 ,并且调用进程必须具有对目录的删除权限。
我的问题是:如何使用此function删除非空目录? 这是可能的吗? 任何帮助将是apreciate!
简短的回答是,你没有。
如果您需要删除非空目录,则需要对目录结构进行深度优先遍历。 当你遍历一个单独的目录时,你将删除它包含的所有文件。 如果它包含任何子目录,则遍历它们,删除它们的内容,然后删除(现在是空的)目录。 泡,冲洗,重复。
或者,使用SHFileOperation
或者(如果你真的感觉到受虐狂) IFileOperation
,为你处理繁重的工作(但是要注意后者是一个COM接口,所以处理繁重的工作至少要两倍的工作量作为自己的工作)。