c++ - 检查是否可以删除目录树而不实际开始删除它

标签 c++ windows winapi

在我的程序中,我需要能够删除包含旧输出的目录。但是里面的一些文件可能被锁定了。在这种情况下,我想警告用户他需要在程序继续之前关闭锁定它们的应用程序,并使用重试/取消对话框,如果用户单击取消,我希望目录保持不变。

那么,谁能告诉我一种方法来检查是否可以删除整个目录树(任何子目录中没有锁定的文件),而不修改其内容 - 就像试运行一样。

最佳答案

也许您可以尝试重命名父目录,至少在 Windows 中您会收到一条错误消息,指出如果子文件夹中的文件被锁定则不可能。如果重命名成功,删除它应该是安全的,并防止其他人在删除之前访问树。

关于c++ - 检查是否可以删除目录树而不实际开始删除它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11535954/

相关文章:

c++ - 我应该使用 UTF-8 通过网络发送数据吗?

windows - 针对位于系统其他位置的存储库运行 "git status"

c++ - 更改命令提示 rune 本大小 C++

c++ - 为什么将单个枚举封装在一个结构中?

c++ - if 字符串验证循环的问题

C++ 何时使用 const 引用而不是转发引用

windows - Gradle:无法连接到 Windows 上的 Kotlin 守护进程

c++ - 在仿真期间更改 FMI 变量/函数

c++ - 如何启动一个进程并使其成为 'independent'

C++ 生成组合键 WINAPI(无 MFC)