使用C#删除文件夹

时间:2010-11-18 15:41:15

标签: c# directory

我是C#的新手,我将制作一个简单的工具,其中包含一个按钮,用于删除文档和设置中的所有文件夹,但不包括管理员文件夹。

有人可以告诉我如何做到这一点吗?

3 个答案:

答案 0 :(得分:2)

您可以使用DirectoryInfo

System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo("your path");
if (dir.Exists)
     dir.Delete(true);

答案 1 :(得分:0)

这里有很多争论,到目前为止提供的答案将技术工作。但是,让我们尝试一种不同的方法...... 为什么你想这样做?正如您可能已经推测到目前为止的反应,这可能不是一个好主意。那么也许有一些关于这个软件需要解决的背景知识,我们可以提供更有用的答案吗?

编辑: 所以你打算用USB棒走到每台电脑并大量删除?似乎仍然不是一个好方法。一些快速谷歌搜索刚出现this,这可能适合你。最好的部分,它远程工作。这样就可以删除“走到每台PC”的部分任务。

答案 2 :(得分:-1)

您可以使用System.IO.DirectoryInfo然后调用Delete(true)方法以递归方式删除指定文件夹中的所有文件夹和文件。

MSDN Directory Info

现在只删除非管理员文件夹,是指管理员拥有的文件夹还是管理员拥有的文件夹。此外,您将无法删除当前用户不拥有的文件夹,因此除了盲目删除之外,您将获得一些例外情况。

编辑以回应一些不同的评论

您实际上可以对DirectorySecurityFileSecurity进行迭代(我认为这是文件一),以找出目录或文件的所有者组,并从那里确定它是否是管理员