C#刪除只讀文件或文件夾(解決File.Delete無法刪除文件)


引用: 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是沒有效果,只有文件全部刪除后才能設置文件夾屬性。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM