首页 > 编程语言 >C#删除和清空文件夹的程序

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

时间:2023-08-01 09:11:05浏览次数:49  
标签:string 删除 C# 清空 文件夹 Attributes Directory fi

/// <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)

标签:string,删除,C#,清空,文件夹,Attributes,Directory,fi
From: https://www.cnblogs.com/winchance/p/17595554.html

相关文章

  • CDN加速
    概念当我们在使用一些第三方包的时候,势必会导包到我们自己的服务器上,会增加代码体积,同时距离你服务器远的地方,加载会比较慢。vite中使用......
  • Sychronized 原理,锁升级优化
    Java对象头以32位虚拟机为例普通对象所以以Integer和int为例子Integer8字节对象头+4字节int值,所以大小是int的3倍int4字节int值数组对象如Student[]s=newStudent[8],还包括数组长度length其中markword结构为MarkWord被设计成一个非固定的......
  • 建模教程:如何利用3ds Max 和 After Effects 实现多通道渲染和后期合成 - 第 1 部分
     推荐:NSDT场景编辑器助你快速搭建可二次开发的3D应用场景1.创建基本场景步骤1打开 3dsMax。在透视视口。打开3dsMax步骤2做一个茶壶,放在飞机上。制作茶壶步骤3我在场景中应用了几个灯光。我选择了光线追踪阴影作为阴影。光线追踪阴影步骤4按 M 打开材质......
  • Gym104128L Proposition Composition
    很好口胡却不好写。把边分成链边和额外边首先想到分类讨论,显然不能只删额外边,所以有两类情况,删一链边和两链边。如果删一链边,这一链边要么完全没被额外边覆盖,然后其他任选一条;要么被覆盖一次,额外边选覆盖它的边。用线段树简单维护即可。现在难的是删两链边,且这两条链边都至少......
  • 建模教程:如何利用3ds Max 和 After Effects 实现多通道渲染和后期合成 - 第 2 部分
     推荐:NSDT场景编辑器助你快速搭建可二次开发的3D应用场景1.创建基本场景步骤1打开 3dsMax。打开3dsMax。步骤2我做了一个简单的场景。我放了三个彼此之间有一定距离的物体。制作对象步骤3按 Ctrl-C 键在透视视图中创建摄影机。创建相机2.设置对象ID步......
  • Maven打包Scala找不到主类入口问题
    Maven打包Scala项目找不到主类,参考https://blog.csdn.net/weixin_41684423/article/details/115695713后,加上maven-assembly-plugin依赖就OK了,完整的pom文件如下:<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0&q......
  • 代码随想录算法训练营第三天| LeetCode 242.有效的字母异位词 349. 两个数组的交集
    242.有效的字母异位词    卡哥建议: 这道题目,大家可以感受到数组用来做哈希表给我们带来的遍历之处。    题目链接/文章讲解/视频讲解: https://programmercarl.com/%E5%93%88%E5%B8%8C%E8%A1%A8%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html   做题思路:......
  • 8.应用配置:特殊卷ConfigMap和Secret
    特殊卷ConfigMap和Secret是Kubernetes系统上两种特殊类型的存储卷◼ConfigMap用于为容器中的应用提供配置数据以定制程序的行为,而敏感的配置信息,例如密钥、证书等则通常由Secret来配置◼ConfigMap和Secret将相应的配置信息保存于资源对象中,而后在Pod对象上支持以存储......
  • vscode常用快捷键【转】
    1、选中光标所在单词==》ctrl+d2、删除光标所在行==》ctrl+shift+k3、拷贝光标所在行==》ctrl+c4、在光标下一行创建新的一行,同时移动光标到下一行==》crtl+enter5、复制光标所在行,并创建下一行,把内容粘贴到下一行==》shift+alt+⬇/⬆6、剪切光标所在行==》ctrl+x......
  • 【C】变长参数的使用
    1、可变参数函数定义必需显式定义至少一个参数,不能直接定义...。LOCALvoidreset_param(guintnum,...){}一般来说,第一个参数传入可变参数的个数。2、可变参数的使用需要用到stdarg.h中的1个结构体和3个宏定义:va_list:用来接收所有的可变参数va_start(va_list,type):ty......