C# 递归删除文件夹以及文件(包括只读文件)
以下代码示例是用来删除文件夹以及文件(其文件包括只读文件)分享给大家,也许可能对大家多少有一点帮助.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace filedelete
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
public const string TARGET_PATH = @"C:\Iris-2";
private void Form1_Load(object sender, EventArgs e)
{
DeleteFolder(TARGET_PATH);
}
/// <summary>
/// 递归删除子文件夹以及文件(包括只读文件)
/// </summary>
/// <param name="TARGET_PATH">文件路径</param>
public void DeleteFolder(string TARGET_PATH)
{
//如果存在目录文件,就将其目录文件删除
if (Directory.Exists(TARGET_PATH))
{
foreach (string filenamestr in Directory.GetFileSystemEntries(TARGET_PATH))
{
if (File.Exists(filenamestr))
{
FileInfo file = new FileInfo(filenamestr);
if (file.Attributes.ToString().IndexOf("ReadOnly") != -1)
{
file.Attributes = FileAttributes.Normal;//去掉文件属性
}
File.Delete(filenamestr);//直接删除其中的文件
}
else {
DeleteFolder(filenamestr);//递归删除