我是C#的新手,我将制作一个简单的工具,其中包含一个按钮,用于删除文档和设置中的所有文件夹,但不包括管理员文件夹。
有人可以告诉我如何做到这一点吗?
答案 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)
方法以递归方式删除指定文件夹中的所有文件夹和文件。
现在只删除非管理员文件夹,是指管理员拥有的文件夹还是管理员拥有的文件夹。此外,您将无法删除当前用户不拥有的文件夹,因此除了盲目删除之外,您将获得一些例外情况。
编辑以回应一些不同的评论
您实际上可以对DirectorySecurity
和FileSecurity
进行迭代(我认为这是文件一),以找出目录或文件的所有者组,并从那里确定它是否是管理员