现有目录结构文件夹A
文件夹A1
文件A11
文件A12
文件夹A2
文件A21
文件A22
文件夹A2a
文件A2a1
文件A2a2
文件A1文件名字随便写的,就是说文件夹A里面既有文件又有文件夹,然后它的字文件夹还可能包含文件或者文件夹。
请问怎么删除文件夹A中的所有文件夹及文件?(不删除文件夹A)
还有就是怎么删除文件夹A中的所有文件保留子文件夹呢?说白了就是1.如何删除指定目录的下所有文件和文件夹?
2.如何删除指定目录下所有文件而保留目录结构(文件夹)?有点罗嗦哈,谢谢大家!
文件夹A1
文件A11
文件A12
文件夹A2
文件A21
文件A22
文件夹A2a
文件A2a1
文件A2a2
文件A1文件名字随便写的,就是说文件夹A里面既有文件又有文件夹,然后它的字文件夹还可能包含文件或者文件夹。
请问怎么删除文件夹A中的所有文件夹及文件?(不删除文件夹A)
还有就是怎么删除文件夹A中的所有文件保留子文件夹呢?说白了就是1.如何删除指定目录的下所有文件和文件夹?
2.如何删除指定目录下所有文件而保留目录结构(文件夹)?有点罗嗦哈,谢谢大家!
解决方案 »
- 导出excel 放到服务器上导出失败 本地测试成功
- 无限级别读取子节点,或下级多子节点无限读取解决方案
- string 中怎样编号子串
- C#中调用dllImport时是不是要设置Using什么的
- 高手帮帮忙
- cookie
- C#是纯面向对象的编程语言吗?还是混合语言?
- HTML 查找某文字列 并读取其注释内容 用正则好吗?
- 急问WinForm下LinkLabel控件怎样实现Url的连接?
- 字符串转成数值
- 高分求助 http协议访问文件的问题.......
- 添加了using System.Data.SqlClient、using System.Data、using System.Configuration,还是提示SqlConnection找不到命空间……
string path = "c:\\temp\\my";
System.IO.Directory.Delete(path, true);
System.IO.Directory.CreateDirectory(path);
{
foreach (string filename in System.IO.Directory.GetFiles(path))
{
System.IO.File.Delete(filename);
}
foreach (string directory in System.IO.Directory.GetDirectories(path))
{
DeleteFileOnly(directory);
}
}
string[] files=System.IO.Directory.GetFiles(path);
foreach(string file in files)
{
if(Directory.Exists(file))
Directory.Delete(file,true);
if(File.Exists(file))
File.Delete(file);
}
2.如何删除指定目录下所有文件而保留目录结构(文件夹)?
用递归
1楼的方法就可以
static void DeleteFileOnly(string path)
{
foreach (string filename in System.IO.Directory.GetFiles(path))
{
System.IO.File.Delete(filename);
}
foreach (string directory in System.IO.Directory.GetDirectories(path))
{
DeleteFileOnly(directory);
}
}
{
try
{
// 检查目标目录是否以目录分割字符结束如果不是则添加之
if (aimPath[aimPath.Length - 1] != Path.DirectorySeparatorChar)
aimPath += Path.DirectorySeparatorChar;
// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
// 如果你指向Delete目标文件下面的文件而不包含目录请使用下面的方法
// string[] fileList = Directory.GetFiles(aimPath);
string[] fileList = Directory.GetFileSystemEntries(aimPath);
// 遍历所有的文件和目录
foreach (string file in fileList)
{
// 先当作目录处理如果存在这个目录就递归Delete该目录下面的文件
if (Directory.Exists(file))
{
DeleteDir(aimPath + Path.GetFileName(file));
}
// 否则直接Delete文件
else
{
File.Delete(aimPath + Path.GetFileName(file));
}
}
//删除文件夹
System.IO.Directory.Delete(aimPath, true);
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
}