在我的程序中,我需要能够删除包含旧输出的目录。但是里面的一些文件可能被锁定了。在这种情况下,我想警告用户他需要在程序继续之前关闭锁定它们的应用程序,并使用重试/取消对话框,如果用户单击取消,我希望目录保持不变。
那么,谁能告诉我一种方法来检查是否可以删除整个目录树(任何子目录中没有锁定的文件),而不修改其内容 - 就像试运行一样。
最佳答案
也许您可以尝试重命名父目录,至少在 Windows 中您会收到一条错误消息,指出如果子文件夹中的文件被锁定则不可能。如果重命名成功,删除它应该是安全的,并防止其他人在删除之前访问树。
关于c++ - 检查是否可以删除目录树而不实际开始删除它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11535954/