如何删除整个文件夹及其所有内容,包括只读文件

时间:2010-07-14 23:31:43

标签: c# .net file-io

我目前使用此代码删除文件夹及其内容:

string tempFolder = System.Environment.GetEnvironmentVariable("HomeDrive");
System.IO.Directory.Delete(tempFolder + "\\" + "Test", true);

它工作得很好但是,它会删除文件夹及其内容,但不会删除只读文件。那么如何使用c#有针对性的Framework 2.0来实现这个目标呢?

1 个答案:

答案 0 :(得分:5)

您可以使用以下代码从文件中删除只读属性:

string[] allFileNames = System.IO.Directory.GetFiles(tempFolder, "*.*", System.IO.SearchOption.AllDirectories);
foreach (string filename in allFileNames) {
    FileAttributes attr = File.GetAttributes(filename);
    File.SetAttributes(filename, attr & ~FileAttributes.ReadOnly);
}