/// <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);
}
}
还有没有比较简洁的方法,欢迎各位大佬们留言交流!