C#如何删除指定文件夹下所有文件而保留文件夹

C#中如何删除指定路径的文件夹下所有文件,而保留文件夹,不要删除文件夹然后新建文件夹这方法,请帮我写完整的代码,一按Button就删除整个文件夹的子文件,不胜感激

<summary>
        /// 清空指定的文件夹,但不删除文件夹
        /// </summary>
        /// <param name="dir"></param>
        public static void DeleteFolder(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
                {
                    DirectoryInfo d1 = new DirectoryInfo(d);
                    if (d1.GetFiles().Length != 0)
                    {
                        DeleteFolder(d1.FullName);////递归删除子文件夹
                    }
                    Directory.Delete(d);
                }
            }
        }        /// <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#文件操作:C#删除文件

string delFile = Server.MapPath(  ".")+"\\myTextCopy.txt";   File.Delete(delFile); 

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-09-07
那你就遍历文件夹下的文件,,然后删除·····DirectoryInfo dirInfo = new DirectoryInfo(path); FileInfo[] files = dirInfo.GetFiles(); // 获取该目录下的所有文件foreach (FileInfo file in files) {file.Delete(file);}
第2个回答  2019-03-09
假设文件夹1在c盘根下:
添加名称空间
using system.io;在listbox中显示所有子文件夹
string[] subfolders = directory.getdirectories(@"c:\1");
foreach (string s in subfolders)
{
listbox1.items.add(s);
}
第3个回答  2014-07-04
先删除整个文件夹及下所有文件
Directory.Delete(path,true);
然后再新建一个空的文件夹
Directory.CreateDirectory(path);本回答被网友采纳

C#如何删除指定文件夹下所有文件而保留文件夹
\/\/\/递归删除子文件夹 Directory.Delete(d); } }原理:C#文件操作:C#删除文件 string delFile = Server.MapPath( ".")+"\\\\myTextCopy.txt"; File.Delete(delFile);

C#中如何用递归方法删除一个文件夹中所有内容??
先把文件去除所有文件的只读属性,然后删了;然后如果有文件夹就递归,没有就return,return之前把当前目录页删了。

c#对指定文件夹里的所有txt文件进行统一的的处理,后还按原来的名字存储...
读txt文件: using(StreamReader sr=new StreamReader("文件路径")){ string strTXT=string.Empty;while((strTXT=sr.ReadLine())!=null){ \/\/用流读取是一行行读的,这里是你想把数据放到哪里,比如说datatable \/\/或者List,个人感觉List比较好 } } 将处理后的数据写入到txt文件然后存进新的文...

C#怎么删除文件夹的文件
foreach(FileSystemInfoiinfileinfo){ if(iisDirectoryInfo)\/\/判断是否文件夹 { DirectoryInfosubdir=newDirectoryInfo(i.FullName);subdir.Delete(true);\/\/删除子目录和文件 } else { \/\/如果使用了streamreader在删除前必须先关闭流,否则无法删除sr.close();File.Delete(i.FullName);\/\/删除指定文件 }...

c#对指定文件夹里的所有txt文件进行统一查找删除某个词如“如果”后还...
string keyWord = "苹果";\/\/查找的关键字 string moveToFolder = keyWord + "\/";\/\/ DirectoryInfo folder = new DirectoryInfo("textFiles\/");if (folder .Exists ){ foreach (FileInfo fileName in folder.GetFiles()){ using (StreamReader reader = new StreamReader(fileName.FullName)){ ...

c#实现遍历文件夹里的所有文件内容,然后删除某个内容?
C是一个通用的计算机编程语言创建的丹尼斯·里奇在1972年贝尔实验室。它是一种程序性和低级语言,提供对系统内存的访问。C是一个成千上万的计算机编程语言用来创建列表的指令。今天仍然非常广泛使用和影响力。有许多资源网上学习C语言,比如learn-c.org提供了一个免费互动教程。

我想把文件的路径拆分,用C#WinForm实现,要把文件名和文件的扩展名都去掉...
string s = @"D:\\txt.txt";stiring s_a = s.substring( s.lastindexof('\\\\') + 1);s_a 就是你要的文件所在的路径

C#编写代码,实现功能:删除D盘的所有文件(包括子文件夹),跳过被其它进 ...
try { fi.Delete();} catcch(Exception e) { throw new Exception(e.message); }\/\/删不掉则抛出异常 } DirectoryInfo[] dii = dir.GetDirectories(); foreach (DirectoryInfo d in dii) \/\/如果是文件夹,则递归遍历 { FileInfo[] fd=d.GetFiles();\/\/获取子文件夹下的...

c#+asp.net如何删除指定路径下的文件和文件夹
如果你需要连你指定的文件夹一起删除 就简单的多 如下 if(Directory.Exists(yourPath)) Directory.Delete(yourPath,true);上述两例中的yourPath应为指定文件夹的路径 如: D:\\test 第一例则会删除test文件夹下的所有子项 第二例则是test文件夹及其子项一起删除 需要注意的是Directory.Delete方法...

c# 小问题,关于删除文件夹的
Directory.Delete(folderBrowserDialog1.SelectedPath,ture);就可以了 注意第二个参数,是指是否同时移除子文件夹

相似回答