首页 > 编程 > C# > 正文

C#删除只读文件或文件夹(解决File.Delete无法删除文件)

2019-10-29 21:38:33
字体:
来源:转载
供稿:网友

这篇文章主要介绍了C#删除只读文件或文件夹(解决File.Delete无法删除文件),需要的朋友可以参考下

C#删除只读文件的方法:

 

 
  1. if (File.GetAttributes(FFName).ToString().IndexOf("ReadOnly") != -1) 
  2. File.SetAttributes(FFName, FileAttributes.Normal); 
  3. File.Delete(FFName);//不能删除只读文件 

C#删除只读文件夹的方法:

只读文件夹删除需要先删除文件夹内的文件,然后在使用删除文件夹才能成功,否则将会报没有权限访问。

下面是遍历删除文件夹代码

 

 
  1. /// <summary> 
  2. /// 用来遍历删除目录下的文件以及该文件夹 
  3. /// </summary> 
  4. public void DeleteFileByDirectory(DirectoryInfo info) 
  5. foreach (DirectoryInfo newInfo in info.GetDirectories()) 
  6. DeleteFileByDirectory(newInfo); 
  7. foreach (FileInfo newInfo in info.GetFiles()) 
  8. newInfo.Attributes = newInfo.Attributes &~(FileAttributes.Archive | FileAttributes.ReadOnly | FileAttributes.Hidden); 
  9. newInfo.Delete(); 
  10. info.Attributes = info.Attributes & ~(FileAttributes.Archive | FileAttributes.ReadOnly | FileAttributes.Hidden); 
  11. info.Delete(); 
  12.  

另外说明:

在操作文件夹时候,在没有删除文件夹里面文件时候貌似对文件夹设置FileAttributes是没有效果,只有文件全部删除后才能设置文件夹属性。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表