Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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#_.net - Fatal编程技术网

C# 删除特定文件夹的文件

C# 删除特定文件夹的文件,c#,.net,C#,.net,我用它来删除文件夹的内容,这应该取决于计算机的用户名&我已经提供了管理员权限 但当任何文件不删除时,它将停止在该文件上工作。我希望此过程完成您必须在文件删除语句周围添加try/catch块,这样即使出现异常,循环也会继续。我建议您在调用delete时记录引发异常的文件列表。如果其中一个文件无法删除,则调用file.delete()将引发异常 如果要处理它,必须将其包装在try/catch中,如下所示: String userName = System.Security.Principal.Wi

我用它来删除文件夹的内容,这应该取决于计算机的用户名&我已经提供了管理员权限

但当任何文件不删除时,它将停止在该文件上工作。我希望此过程完成

您必须在文件删除语句周围添加try/catch块,这样即使出现异常,循环也会继续。我建议您在调用delete时记录引发异常的文件列表。

如果其中一个文件无法删除,则调用
file.delete()
将引发异常

如果要处理它,必须将其包装在try/catch中,如下所示:

String userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
String dr = @"C:\Users\" + userName + @"\AppData\temp";

 DirectoryInfo dir = new DirectoryInfo(@dr);
 foreach (FileInfo file in dir.GetFiles())
 {
     file.Delete();
 }
 foreach (DirectoryInfo dire in dir.GetDirectories())
 {
     dire.Delete(true);
 }
此外,我建议您更好地使用字符串,而不是连接字符串

foreach (FileInfo file in dir.GetFiles())
{
    try
    {
        file.Delete();
    }

    catch (IOException exception)
    {
        // Here you should log the exception.Message
    }
}
String userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
String dr = @"C:\Users\" + userName + @"\AppData\temp";
DirectoryInfo dir = new DirectoryInfo(@dr);
foreach (FileInfo file in dir.GetFiles())
{
    try
    {
        file.Delete();
    }
    catch (IOException ex)
    {//Log ex.message
        continue;
    }
}
foreach (DirectoryInfo dire in dir.GetDirectories())
{
    try
    {
        dire.Delete();
    }
    catch (IOException ex)
    { //Log ex.message
        continue;
    }
}