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

决定是否不应删除文件夹(例如,因为它是特殊的)

c#
  •  0
  • Brian  · 技术社区  · 14 年前

    假设我希望对是否删除文件夹做出初步决定(使用递归算法,即使用户愚蠢地试图删除一些文件,也可能成功删除一些文件) c:\windows ).这更多的是为了保护用户的愚蠢,而不是某种形式的自动删除。我不在乎它是否禁止删除高级用户可能想要删除的内容。我发现删除文件夹是个坏主意时的一些想法:

    • 如果要删除的文件夹是或包含其中的任何文件夹 Environment.GetFolderPath(Environment.SpecialFolder.*)

    • 要删除的文件夹是否在 Environment.GetEnvironmentVariable("systemroot");

    • 如果 DirectoryInfo 属性表明该目录是一个系统目录,尽管我不确定它是否真的被使用了。我确实知道,在目录上,只读属性被用于其他目的,这实际上有点烦人。

    我还能做其他的测试吗?

    2 回复  |  直到 14 年前
        1
  •  0
  •   Michael Petrotta user3140870    14 年前

    Environment.SpecialFolder.* 包含大量用户拥有的数据,尤其是MyDocuments。我想那是你最想要的文件夹 允许 删除。

        2
  •  0
  •   zdan    14 年前

    您还可以检查其他属性,例如隐藏或只读。

    我还想指出,环境中有很多文件夹。SpecialFolder指向当前登录用户的文件夹,不一定是在计算机上创建的任何其他用户的文件夹。