取消文件夹下的子文件夹和文件的只读属性
private void UnsetReadOnly(string dirPath)
{//http://bbs.csdn.net/topics/380233913
string[] dirPathes = Directory.GetDirectories(dirPath, "*.*", SearchOption.AllDirectories);
string[] filePathes = Directory.GetFiles(dirPath, "*.*", SearchOption.AllDirectories);
foreach (var dp in dirPathes)
{
DirectoryInfo dir = new DirectoryInfo(dirPath);
dir.Attributes = FileAttributes.Normal & FileAttributes.Directory;
}
foreach (var fp in filePathes)
{
File.SetAttributes(fp, System.IO.FileAttributes.Normal);
}
}
用ICSharpZipLib解压,如果目标文件夹里的文件为只读属性会导致解压失败:UnauthorizedAccessException: Access to the path is denied.
使用如上代码取消文件的只读属性后解决.(只设置文件夹的Attributes为非只读没作用,里面的文件还是只读)
From:http://www.cnblogs.com/xuejianxiyang/p/7514477.html
作者:xuejianxiyang
出处:http://xuejianxiyang.cnblogs.com
关于作者:Heaven helps those who help themselves.
本文版权归原作者和博客园共有,欢迎转载,但未经原作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。