C#删除只读文件或文件夹(解决File.Delete无法删除文件)
C#删除只读文件的方法:
if(File.GetAttributes(FFName).ToString().IndexOf("ReadOnly")!=-1) File.SetAttributes(FFName,FileAttributes.Normal); File.Delete(FFName);//不能删除只读文件
C#删除只读文件夹的方法:
只读文件夹删除需要先删除文件夹内的文件,然后在使用删除文件夹才能成功,否则将会报没有权限访问。
下面是遍历删除文件夹代码
///<summary> ///用来遍历删除目录下的文件以及该文件夹 ///</summary> publicvoidDeleteFileByDirectory(DirectoryInfoinfo) { foreach(DirectoryInfonewInfoininfo.GetDirectories()) { DeleteFileByDirectory(newInfo); } foreach(FileInfonewInfoininfo.GetFiles()) { newInfo.Attributes=newInfo.Attributes&~(FileAttributes.Archive|FileAttributes.ReadOnly|FileAttributes.Hidden); newInfo.Delete(); } info.Attributes=info.Attributes&~(FileAttributes.Archive|FileAttributes.ReadOnly|FileAttributes.Hidden); info.Delete(); }
另外说明:
在操作文件夹时候,在没有删除文件夹里面文件时候貌似对文件夹设置FileAttributes是没有效果,只有文件全部删除后才能设置文件夹属性。