引用: http://www.jb51.net/article/72181.htm
C#刪除只讀文件的方法:
if (File.GetAttributes(FFName).ToString().IndexOf("ReadOnly") != -1)
File.SetAttributes(FFName, FileAttributes.Normal);
File.Delete(FFName);//不能刪除只讀文件
C#刪除只讀文件夾的方法:
只讀文件夾刪除需要先刪除文件夾內的文件,然后在使用刪除文件夾才能成功,否則將會報沒有權限訪問。
下面是遍歷刪除文件夾代碼
/// <summary>
/// 用來遍歷刪除目錄下的文件以及該文件夾
/// </summary>
public void DeleteFileByDirectory(DirectoryInfo info)
{
foreach (DirectoryInfo newInfo in info.GetDirectories())
{
DeleteFileByDirectory(newInfo);
}
foreach (FileInfo newInfo in info.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是沒有效果,只有文件全部刪除后才能設置文件夾屬性。