代码之家  ›  专栏  ›  技术社区  ›  KorbenDose

实验::filesystem::remove_all():权限被拒绝

  •  0
  • KorbenDose  · 技术社区  · 6 年前

    假设我在一个文件夹中的文件夹中有几个文件,例如:

    folder1
        |- folder11
        |      |- file1
        |
        |- folder12
               |- file2
    

    所有这些文件和文件夹都是在我的程序运行时创建的,之后将被删除。为此,我想用 std::experimental::filesystem::remove_all(path) 具有 path 相对的或绝对的 folder1 (我都试过了)。这将递归地删除文件和文件夹,以删除结束 文件夹1 .

    相反,发生的情况是文件被删除,然后抛出异常并保留文件夹。

    文件系统错误:无法全部删除:权限被拒绝[。\path\to\folder1]

    我正在编译 合同一般条件7.3.0 在Windows 7上。不幸的是,使用此编译器,我无法检查 std::filesystem .

    我也尝试过以管理员身份执行程序,但仍然抛出了相同的异常。

    this answer ,我知道以前有一个bug,不过已经修复了。

    所以现在我的问题是,如果我理解 remove_all() 错了,如果我错过了一些设置,我必须作出,以便正确使用这个功能,或者如果可能有另一个错误在其实现。

    0 回复  |  直到 6 年前