C# 是否删除文件夹中的所有文件夹?

C# 是否删除文件夹中的所有文件夹?,c#,C#,嘿,伙计们,我正在开发一个小程序,可以提高你们电脑的速度,但我有一个问题,如果我试图删除文件,我会遇到一个异常,我相信是因为它们正在使用。虽然它删除了一些,但不多。我的问题是如何删除正在使用的文件,以及如何删除文件夹中的子文件夹 //this is my directory: DirectoryInfo tempPath = new DirectoryInfo(@"C:\Users\" + Environment.UserName + @"\AppData\Local\Temp"); pri

嘿,伙计们,我正在开发一个小程序,可以提高你们电脑的速度,但我有一个问题,如果我试图删除文件,我会遇到一个异常,我相信是因为它们正在使用。虽然它删除了一些,但不多。我的问题是如何删除正在使用的文件,以及如何删除文件夹中的子文件夹

//this is my directory:

DirectoryInfo tempPath = new DirectoryInfo(@"C:\Users\" + Environment.UserName + @"\AppData\Local\Temp");

private void button8_Click(object sender, EventArgs e)
{           
    if (checkBox5.Checked)
    {
        //loop through these files
        foreach (FileInfo file in tempPath.GetFiles())
        {
            //delete files in content
            file.Delete();
        }
    }
}

必须使用set-FileAttributes normal递归删除文件夹

private static void DeleteAllFolderRecursive(DirectoryInfo yourBaseDir)  
{  
    baseDir.Attributes = FileAttributes.Normal;  
    foreach (var childDir in baseDir.GetDirectories())  
        DeleteFolderRecursive(childDir);  

    foreach (var file in baseDir.GetFiles())  
        file.IsReadOnly = false;  

    baseDir.Delete(true);  
}  
你称之为:

DirectoryInfo tempPath = new DirectoryInfo(@"C:\Users\" + Environment.UserName + @"\AppData\Local\Temp");
DeleteAllFolderRecursive(tempPath);

是的,旧的“删除一切加快你的电脑”把戏。。。此处有一篇关于检查文件是否已锁定的帖子:。但是,删除锁定的文件完全是另一回事。MoveFileEx的可能重复会延迟到重新启动时再请求帮助。Shree这一个弄糊涂了什么是basedir?甚至不存在。编辑我有一个编程问题,为什么在我们制作的方法中添加参数,而我们可以在方法下面键入它?因为在调用该方法时,我们无论如何都不会使用该参数。我们正在使用tempPath one。还添加了这个,我得到错误捕获(IOException){Directory.Delete(tempPath);}catch(UnauthorizedAccessException){Directory.Delete(tempPath);}//尽管错误为错误CS1503参数1:但无法从'System.IO.DirectoryInfo'转换为'string'