在C#中删除目录 [英] Delete directory in C#

查看:78
本文介绍了在C#中删除目录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

朋友,

我想使用C#删除目录.
我试过了,

Frnds,

I want to delete directory using C#.
I tried this,

Directory.Delete("DirectoryName");



它可以正常工作,但只删除空目录.

我也尝试过,



Its working but it deletes only the empty directory.

Also i tried,

public static void Empty(this System.IO.DirectoryInfo directory)
{
    foreach(System.IO.FileInfo file in directory.GetFiles()) file.Delete();
    foreach(System.IO.DirectoryInfo subDirectory in directory.GetDirectories()) subDirectory.Delete(true);
}



但是目录包含100个文件.它花费了太多时间.

所以我想删除包含文件的目录而不循环.

您之前的回复将对您有所帮助!!!


谢谢,
Karthik.J



But the directory contains 100''s files. Its taking too much time.

So i want to delete the directory containing files without looping.

Your earlier reply will be helpful!!!


Thanks,
Karthik.J

推荐答案

您可以使用

Directory.Delete("DirectoryName",true);
You can use

Directory.Delete( "DirectoryName",true );


与此相关,
Go with this,
public static void DeleteDirectory(string target_dir)
   {
       string[] files = Directory.GetFiles(target_dir);
       string[] dirs = Directory.GetDirectories(target_dir);

       foreach (string file in files)
       {
           File.SetAttributes(file, FileAttributes.Normal);
           File.Delete(file);
       }

       foreach (string dir in dirs)
       {
           DeleteDirectory(dir);
       }

       Directory.Delete(target_dir, false);
   }


这篇关于在C#中删除目录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆