RemoveDirectory()如果​​目录不是空的?

在页面上( RemoveDirectory() – 函数 ),他们说:“ 要删除的目录的path。这个path必须指定一个空目录 ,并且调用进程必须具有对目录的删除权限。

我的问题是:如何使用此function删除非空目录? 这是可能的吗? 任何帮助将是apreciate!

简短的回答是,你没有。

如果您需要删除非空目录,则需要对目录结构进行深度优先遍历。 当你遍历一个单独的目录时,你将删除它包含的所有文件。 如果它包含任何子目录,则遍历它们,删除它们的内容,然后删除(现在是空的)目录。 泡,冲洗,重复。

或者,使用SHFileOperation或者(如果你真的感觉到受虐狂) IFileOperation ,为你处理繁重的工作(但是要注意后者是一个COM接口,所以处理繁重的工作至少要两倍的工作量作为自己的工作)。