c# - c#删除空文件夹
问题描述
我有以下代码,我正在尝试删除它在大多数情况下都可以使用的文件夹,但偶尔我会收到 IOException 并且 Visual Studio 说“访问被拒绝”路径存在并且文件夹说它是空的,并且没有子文件夹,但我可以不要使用以下代码将其删除。任何建议为什么这会在大部分时间但并非总是有效以及如何解决它
if ( Directory.Exist( dir2 + "\\Inv")
{
System.IO.DirectoryInfo dirinv = new System.IO.DirectoryInfo(dir2 + "\\Inv");
setAttributesNormal(dirinv);
try
{
Directory.Delete(dir2 + "\\Inv", true);
}
catch (IOException)
{
Directory.Delete(dir2 + "\\Inv", true);
}
catch (UnauthorizedAccessException)
{
Directory.Delete(dir2 + "\\Inv", true);
}
}
}
private void setAttributesNormal(DirectoryInfo dir)
{
foreach (var subDir in dir.GetDirectories())
setAttributesNormal(subDir);
foreach (var file in dir.GetFiles())
{
file.Attributes = FileAttributes.Normal;
}
}
解决方案
Run as Administrator
右键单击应用程序,通过文件资源管理器运行程序(或者如果在 Visual Studio 中运行,则在 Visual Studio 中运行) 。
Visual Studio 在启动时不会以管理员身份运行。必须以提升的权限运行它才能对受保护的文件夹执行此类操作或访问端口,例如从 Visual Studio 运行 IE Express。
推荐阅读
- javascript - ajax帮助,页面由于某种原因没有加载请求
- c - 释放分配的内存时出现不同的错误消息
- eclipse - 使 Eclipse RTC 确认在 Eclipse 外部完成的文件合并
- django - 如何让 reverse() 在基于函数的视图中工作
- json - 无法访问 json 对象的值?无法读取未定义的属性“company_about”?
- c++ - Static Initialization Order for Singletons
- asp.net-mvc - datatype.text 验证什么?
- javascript - How to modify confirmation dialog in Rails when I have webpack
- julia - 阅读相对较大的 csv 文件的 Julia 问题
- vb.net - 从 Visual Basic 结构中的函数返回值