使用VS调试器中的Directory.Delete(路径)从Windows 7中的VS2010。 我对我的机器拥有完全的管理员权限。
我基本上跑了
Directory.Delete(path)
它不仅没有删除文件夹,而且现在当我尝试手动删除它时,我得到了
无论我做什么,它都不会让我删除路径了。如果我的程序试图删除它,我会得到一个UnathorizedAccessException。
这里发生了什么?
修改:
我尝试从Windows资源管理器和以管理员身份运行的命令框中删除。 我实际上并没有看到还有什么可做的。
答案 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();
}