导航

C#删除和清空文件夹的程序

Posted on 2023-08-01 09:04  WinChance  阅读(271)  评论(0编辑  收藏  举报
/// <summary>
/// 清空指定的文件夹,但不删除文件夹
/// </summary>
/// <param name="dir"></param>
private void DeleteFolder(string dir)
{
    foreach (string d in Directory.GetFileSystemEntries(dir))
    {
        if (File.Exists(d))
        {
            try
            {
                FileInfo fi = new FileInfo(d);
                if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1)
                    fi.Attributes = FileAttributes.Normal;
                File.Delete(d);//直接删除其中的文件 
            }
            catch
            {
 
            }
        }
        else
        {
            try
            {
                DirectoryInfo d1 = new DirectoryInfo(d);
                if (d1.GetFiles().Length != 0)
                {
                    DeleteFolder(d1.FullName);////递归删除子文件夹
                }
                Directory.Delete(d);
            }
            catch
            {
 
            }
        }
    }
    this.labmsg.Text = "删除成功!时间:" + DateTime.Now.ToString();
}
/// <summary>
/// 删除文件夹及其内容
/// </summary>
/// <param name="dir"></param>
public static void DeleteFolder1(string dir)
{
    foreach (string d in Directory.GetFileSystemEntries(dir))
    {
        if (File.Exists(d))
        {
            FileInfo fi = new FileInfo(d);
            if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1)
                fi.Attributes = FileAttributes.Normal;
            File.Delete(d);//直接删除其中的文件 
        }
        else
            DeleteFolder(d);////递归删除子文件夹
        Directory.Delete(d);
    }
}

转载:C#删除和清空文件夹的程序 - 会弹猫的吉他 - 博客园 (cnblogs.com)