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是没有效果,只有文件全部删除后才能设置文件夹属性。