从VS调试器中使用Directory.Delete(路径)从Windows 7中的VS2010开始

时间:2011-04-30 01:12:06

标签: c# .net windows-7 permissions

使用VS调试器中的Directory.Delete(路径)从Windows 7中的VS2010。 我对我的机器拥有完全的管理员权限。

我基本上跑了

Directory.Delete(path)

它不仅没有删除文件夹,而且现在当我尝试手动删除它时,我得到了

enter image description here

无论我做什么,它都不会让我删除路径了。如果我的程序试图删除它,我会得到一个UnathorizedAccessException。

这里发生了什么?

修改

我尝试从Windows资源管理器和以管理员身份运行的命令框中删除。 我实际上并没有看到还有什么可做的。

2 个答案:

答案 0 :(得分:1)

在cmd:

中运行此命令
attrib "MyFolder" -R -A -S -H

您可能不小心将文件夹标记为应用程序中的系统文件夹。此后尝试重新启动计算机。您也可以右键单击该文件夹并转到安全/权限选项卡,看看您(管理员)是否拥有该文件夹的所有权限(尝试标记所有框)。它们有时会在文件操作期间被扰乱。

答案 1 :(得分:1)

如果您尝试从应用程序中删除该文件夹,请参阅以下代码片段,该代码段允许您清除所有文件系统属性,然后删除该文件。代码片段不是我的,我从其他地方拿走它,但我不记得在哪里。

  private static void DeleteFileSystemInfo(FileSystemInfo fsi)
    {
        fsi.Attributes = FileAttributes.Normal;
        var di = fsi as DirectoryInfo;
        if (di != null)
        {
            foreach (var dirInfo in di.GetFileSystemInfos())
                DeleteFileSystemInfo(dirInfo);
        }
        fsi.Delete();
    }