Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用C删除文件夹#_C#_Directory - Fatal编程技术网

C# 用C删除文件夹#

C# 用C删除文件夹#,c#,directory,C#,Directory,我是C#新手,我将制作一个简单的工具,它有一个按钮,可以删除文档和设置中的所有文件夹,但不能删除管理员文件夹 有人能告诉我怎么做吗?你可以使用DirectoryInfo System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo("your path"); if (dir.Exists) dir.Delete(true); 您可以使用DirectoryInfo System.IO.DirectoryInfo dir = new

我是C#新手,我将制作一个简单的工具,它有一个按钮,可以删除文档和设置中的所有文件夹,但不能删除管理员文件夹


有人能告诉我怎么做吗?

你可以使用DirectoryInfo

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

您可以使用DirectoryInfo

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

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

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

根据一些不同的评论进行编辑


实际上,您可以在
DirectorySecurity
FileSecurity
(我认为这就是文件)上进行一些迭代,以确定目录或文件的所有者组,并从中确定它是否是管理员。

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

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

根据一些不同的评论进行编辑


实际上,您可以在
目录安全性
文件安全性
(我认为这就是文件安全性)上进行一些迭代,以确定目录或文件的所有者组,并从中确定它是否是管理员。

这里有很多争论,目前提供的答案在技术上是可行的。但让我们尝试另一种方法。。。你为什么要这样做?正如你可能已经猜测到的那样,这可能不是一个好主意。因此,也许有了这个软件需要解决的一些背景知识,我们也许可以提供更有用的答案

编辑:
那么你打算带着U盘和大批量删除到处走到每台电脑前?这似乎仍然不是一个好办法。一些快速的谷歌搜索刚刚出现,这可能对你有用。最棒的是,它可以远程工作。因此,这将删除任务中的“走到每台电脑前”部分。

这里有很多争论,迄今为止提供的答案在技术上是可行的。但让我们尝试另一种方法。。。你为什么要这样做?正如你可能已经猜测到的那样,这可能不是一个好主意。因此,也许有了这个软件需要解决的一些背景知识,我们也许可以提供更有用的答案

编辑:
那么你打算带着U盘和大批量删除到处走到每台电脑前?这似乎仍然不是一个好办法。一些快速的谷歌搜索刚刚出现,这可能对你有用。最棒的是,它可以远程工作。因此,这将删除您任务中“四处走动到每台电脑”的部分。

看看这里:如何区分“管理员文件夹”和普通文件夹?想到这会造成多大的破坏,我不寒而栗。不加区别地删除“文档和设置”中的文件夹是一项严重的高风险操作。您几乎肯定会从其他应用程序中拔出地毯。@boj-我是机器上的本地管理员。你猜怎么着?文件夹名不是“管理员”。@matthias:你最终会需要甚至更多。看这里:你如何区分“管理员文件夹”和普通文件夹?想到这会造成多大的破坏,我不寒而栗。不加区别地删除“文档和设置”中的文件夹是一项严重的高风险操作。您几乎肯定会从其他应用程序中拔出地毯。@boj-我是机器上的本地管理员。猜猜看,文件夹名不是“管理员”。@matthias:你最终需要,甚至更多。还有跳过“管理员文件夹”的要求?所以在“文档和设置”下,我有很多配置文件……还有一些文件夹,如“管理员”等,如果(dir.exists&&dir.Name!=“Administrator”){dir.delete(false)}???@matthias:如果您只有一个管理文件夹(称为“Administrator”),那么是(带“true”)。但是请仔细阅读Jim Mischel的评论。@matthias:尝试现有的应用程序-但在本例中,这是一个superuser.com主题。以及跳过“管理员文件夹”的要求?因此,在“文档和设置”下,我有很多配置文件…还有一些类似管理员等的文件夹,如果(dir.exists&&dir.Name!=“Administrator”){dir.delete(false)}???@matthias:如果您只有一个管理文件夹(称为“Administrator”),那么是(带“true”)。但是仔细阅读Jim Mischel的评论。@matthias:尝试现有的应用程序-但在本例中,这是一个superuser.com主题。以及跳过“管理员文件夹”的要求和跳过“管理员文件夹”的要求?你好,大卫,原因是我将用c#删除所有旧的用户配置文件…删除它需要做很多工作hand@matthias:我还建议咨询ServerFault和SuperUser。这听起来像是Windows网络管理员应该能够做到的事情。(如果我们谈论的是许多配置文件和许多机器,我假设有一个配置文件和机器,但即使没有配置文件和机器,它听起来仍然像是已经存在工具/流程的东西。)你好,大卫,原因是我将用c#删除所有旧的用户配置文件…删除它需要做很多工作hand@matthias:我还建议咨询ServerFault和SuperUser。这听起来像是Windows网络adm的一个功能