C#递归删除文件中的所有文件

C#下利用堆栈删除文件夹的算法  老师布置了个作业要模拟CMD的一些功能~其中做RD命令,即删除某文件夹的时候发现,C#默认的Delete只对空文件夹有效,网上虽然有不少递归算法,但因为跟模拟CMD的其他功能不是很合,所以参考了一下,写了这个算法。原理很简单,就是用堆栈模拟了递归的功能~呵呵string tFilePath = "C://WINDOWS";//tFilePath 是准备删除的文件夹的路径Stack st 阅读详情
            /// <summary>
            /// 删除文件夹中所有文件包含文件夹和文件
            /// </summary>
            /// <param name="dirpath">指定删除的文件夹目录</param>
            public static void DeleteAllFiles(string dirpath)
            {
                //判断当前目录是否存在
                if (Directory.Exists(dirpath))
                {
                    //如果当前目录存在,则删除当前目录中所有的文件
                    DeleteFiles(dirpath);

                    //获取当前目录下所有的子目录(不包含二级目录)
                    var dirs = Directory.GetDirectories(dirpath);

                    //循环当前目录下所有的子目录(不包含二级目录)
                    foreach (var item in dirs)
                    {
                        //删除当前子目录中所有的文件
                        DeleteFiles(item);
                        //判断当前子目录中是否还有目录 如果没有子目录则删除
                        if (Directory.GetDirectories(item).Length <= 0) Directory.Delete(item);
                        //进入下一个目录循环
                        DeleteAllFiles(item);
                        //判断目录是否存在
                        if (Directory.Exists(item))
                            //判断当前目录中是否还有文件 如果没有则删除
                            if (Directory.GetFiles(item).Length < 1) Directory.Delete(item);
                    }
                }
            }
            /// <summary>
            /// 删除指定当前目录中所有的文件
            /// </summary>
            /// <param name="dirpath">指定目录</param>
            public static void DeleteFiles(string dirpath)
            {
                var files = Directory.GetFiles(dirpath);
                foreach (var item in files)
                {
                    if (File.Exists(item)) File.Delete(item);
                }
            }

还有没有比较简洁的方法,欢迎各位大佬们留言交流!

使用C#删除指定文件夹下的所有文件 命名空间提供的类和方法来删除一个文件夹下的所有文件。请注意,删除操作是不可逆的,请确保你已经备份了重要的文件。希望这段代码能够帮助到你实现删除指定文件夹下所有文件的功能!如果在删除文件时发生错误,我们将捕获该异常,并通过打印错误消息到控制台来通知用户。变量,用于存储要删除文件的文件夹路径。对象,该对象表示要删除文件的文件夹。方法获取文件夹中的所有文件,并将它们存储在一个。方法中输出一条成功删除所有文件的消息。使用C#删除指定文件夹下的所有文件。方法,删除该文件夹下的所有文件。在C#中,我们可以使用。 阅读详情

相关推荐

C#实现使用递归法删除文件夹中的所有文件 (附完整源码)

C#实现使用递归法删除文件夹中的所有文件 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 720

C#删除该文件下的所有文件及文件夹

public static void DelectDir(string srcPath) { try { DirectoryInfo dir = new DirectoryInfo(srcPath); FileSystemInfo[] fileinfo = dir.G...

Zhu_daye的博客 1592

实测对比:Gromacs GPU版vsCPU版性能差异到底有多大?2023最新基准测试

本文通过2023年最新基准测试,详细对比了Gromacs GPU版与CPU版的性能差异。测试显示,GPU版本在计算速度上可提升54倍,同时显著降低内存需求和能耗成本。文章还提供了GPU版安装优化实践和硬件选购指南,为计算生物学研究提供关键参考。

weixin_29243063的博客 327

C# 把一个文件夹下所有文件删除

public static void DelectDir(string srcPath) { try { DirectoryInfo dir = new DirectoryInfo(srcPath); FileSystemInfo[] fileinfo = dir.GetFileSystemInfos(); //返回目录中所有文件和子目录 ...

我的笔记 2万+

从动态规划到最优控制:Hamilton-Jacobi-Bellman (HJB) 方程的核心思想与应用

本文深入解析了Hamilton-Jacobi-Bellman (HJB) 方程的核心思想与应用,从动态规划到最优控制的演变过程。通过实际案例展示了HJB方程在机器人路径规划、工业机械臂优化等领域的实践价值,并探讨了数值求解方法和深度学习结合的神经HJB前沿进展。

weixin_28700411的博客 453

HSPICE用户必看:用Sigrity Broadband SPICE解决复杂封装建模的3个技巧

本文为HSPICE用户分享了三个使用Sigrity Broadband SPICE解决复杂封装建模难题的实战技巧。通过将宽频带S参数高效转换为时域SPICE模型,能显著提升仿真速度、保障收敛性,并精准分析谐振、返回路径不连续及超多端口PDN等关键问题,助力实现高效稳定的系统级信号与电源完整性分析。

metal的博客 600

C# 删除指定文件夹下所有文件

删除指定文件夹下所有文件 private static void DeepCleanupFile(string path) { System.IO.DirectoryInfo fileInfo = new DirectoryInfo(path); //去除文件夹的只读属性 fileInfo.Attributes = FileAttributes.Normal & FileAttributes.Directory; //去

weixin_44081533的博客 1273

C# Code-Behind 技术全面解析

Code-Behind 是 ASP.NET Web Forms 中的一种技术模式,通过将用户界面标记(.aspx文件)与程序逻辑代码(.aspx.cs文件)分离,实现表现层与逻辑层的解耦。其核心思想是前端展示与后台逻辑的物理文件分离,通过ASP.NET编译器将两者合并编译成一个Page类并执行。Code-Behind 的优势包括较好的代码组织、较高的开发效率,尤其适合快速开发数据驱动应用。然而,与现代开发模式如ASP.NET MVC、ASP.NET Core和Blazor相比,Code-Behind 在可维

记录学习的过程 956

C#删除文件夹

这里说三种1这是最简单的方法 DirectoryInfo di = new DirectoryInfo(string Path); di.Delete(true); 注:path是你要删除的非空目录; true:你要删除里面所有的文件,包括文件夹和子文件夹2/// <summary> /// 删除非空文件夹...

aogebaa26960497的博客 1122

4D毫米波雷达:高度信息与微多普勒效应

4D毫米波雷达:高度信息与微多普勒效应​ ,人工智能,计算机视觉,大模型,AI,本文深入解析4D毫米波雷达的高度信息获取与微多普勒效应。4D毫米波雷达通过MIMO技术、垂直天线布局及相位差计算等获取高度信息,相较传统雷达更精准。微多普勒效应由目标微运动引发,可用于目标识别、分类和运动监测。文中结合自动驾驶、安防监控案例,分析技术挑战与未来趋势,如信号干扰、数据处理复杂,未来将向高精度、与其他传感器融合发展,展现出在多领域的巨大应用潜力。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 9万+

PCL 计算点云法向量并显示【2026最新版】

PCL计算法向量并显示,用OMP进行计算加速以及法线定向的深层次理解、操作。博客长期更新,本文最近更新时间为:2026年1月28日。

点云侠的博客 32万+

C#递归删除文件夹中的全部内容

前言:这几天做了一个项目,用npoi导出项目的内容,而每次导出都要清空服务器上原有的内容,然后就用微软自带的方法Directory.Delete("path", true);,但是这个方法只能删除空目录,所以总抛异常,无奈之下,只好先删掉文件中的全部文件再调用这个方法,还是报错“目录不是空的”,好郁闷,文件夹中有空文件夹都不能删除,关键是这个异常一会抛,一会不抛,让人很头疼。干...

AIGIS的博客 203

华为防火墙——本地Portal认证

配置IP地址、路由、Nat策略使得内网主机可以访问公网服务器对网段不进行认证,对网段进行portal认证。

m0_49864110的博客 3258

C# 递归删除文件夹目录及文件

根据一个文件目录递归删除文件。

1418

Spark中Application、Job、Stage和Task区别详解

在Spark中,有一些关键的概念,如Application、Job、Stage和Task,它们描述了Spark作业的不同层次和组成部分。下面我将详细介绍每个概念,并通过示例说明它们之间的区别。

优快云 精品推荐 901

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

C#删除指定目录下3个月前的txt文件

目前使用的删除方法是: publicstaticvoidClean0ldDatagramLog(stringMulu) varlimit=DateTime.Now.AddMonths(-12); foreach(DirectoryInfodiinnewDirectoryInfo(Mulu).EnumerateDirectories()) foreach...

netyou的专栏 1171

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

C# 删除文件夹

三种方法 1、这种方法简单,能删除文件夹内的所有文件(文件及子目录) DirectoryInfo di = new DirectoryInfo(string Path); di.Delete(true); 注:path是你要删除的非空目录; true:你要删除里面所有的文件,包括文件夹和子文件夹 2、删除文件夹内的子目录 /// <summary> /// 删除文件夹 /// </summary> /// <pa

Alina_catty的博客 3796

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

c# 创建文件操作

C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"//myText.txt"); sw.WriteLine("追逐理想"); sw.WriteLine("kzlll"); sw.WriteLine(".NET笔记"); sw.Flush(); sw.Close();C#拷贝文件 string OrignFile,NewF

lincnl的专栏 1万+

C# 删除文件和删除空文件夹

本章讲述:删除文件和删除空文件夹 注意:删除文件和删除空文件夹的方法不一样,但是删除空文件夹的时候,需要去除文件夹自身的只读属性 文件属性设置: //文件属性设置 using System.IO FileInfo fileInfo = new FileInfo( @"c:\boot.ini" ); //去掉隐藏属性 fileInfo.Attributes &amp;= ~FileA...

^@^lemon tea^@^ 2057

C# Winform开发 文件夹的删除

ControlFileClass类中的DeleteFolder函数: /// <summary> /// 删除指定文件夹 /// </summary> /// <param name="dir">文件夹路径</param> public static void DeleteFolder(string dirPath) { foreach (string

wybnmsl的博客 927

递归删除文件和文件夹

public static void DeleteSpecificFolder(string dir,string delName) { if (Directory.Exists(dir)) { var dirs = Directory.GetDirectories(dir); dirs.ToList().ForEach(s => { ...

dxm809的博客 172

C 删除文件目录或文件

C 删除文件目录或文件

yrryyff的博客 2146

递归删除空文件夹

递归删除空文件夹 public void DeleteEmptyDir(string path) { DirectoryInfo dis = new DirectoryInfo(path); if (dis.GetDirectories().Length > 0) {...

weixin_30790841的博客 70

C#文件操作

C#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"//myText.txt"); sw.WriteLine("追逐理想"); sw.WriteLine("kzlll"); sw.WriteLine(".NET笔记"); sw.Flush(); sw.Close(); C#拷贝文件 string OrignFile,NewF...

FCzhandu0的专栏 604
上一篇: rabbitmq
HttpCookie
博客等级 码龄14年 0粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值