在页面(RemoveDirectory() - function)上,他们说:“要删除的目录的路径。此路径必须将指定为空目录,并且调用过程必须具有对该目录的删除访问权限。”

我的问题是:如何使用此功能删除非空目录?那可以吗?任何帮助将不胜感激!

最佳答案

简短的答案是您不会。

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

或者,使用 SHFileOperation 或(如果您确实感到受虐) IFileOperation 为您处理繁重的工作(但请注意,后者是一个COM接口(interface),因此让它处理繁重的工作至少是工作量的两倍)就像自己完成工作一样)。

关于c++ - RemoveDirectory()如果​​目录不为空?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43186724/

10-11 22:48
查看更多