试试:
void ClearFolder(DirectoryInfo folder)
{
    foreach (FileInfo file in folder.GetFiles())
        file.Delete();    foreach (DirectoryInfo subfolder in folder.GetDirectories())
        ClearFolder(subfolder);
}private void button1_Click(object sender, EventArgs e)
{
    ClearFolder(new DirectoryInfo(Environment.GetFolderPath(
        Environment.SpecialFolder.InternetCache)));
}

解决方案 »

  1.   

    或者:
    void ClearFolder(DirectoryInfo folder)
    {
        foreach (FileInfo file in folder.GetFiles())
        {
            file.Attributes = FileAttributes.Normal; // 去掉只读等属性。
            file.Delete();
        }    foreach (DirectoryInfo subfolder in folder.GetDirectories())
            subfolder.Attributes = FileAttributes.Normal;
    }private void button1_Click(object sender, EventArgs e)
    {
        ClearFolder(new DirectoryInfo(Environment.GetFolderPath(
            Environment.SpecialFolder.InternetCache)));
    }
      

  2.   

    HOW TO: Clear the Cache When Your Application Hosts a WebBrowser Control in Visual C# .NET
      

  3.   

    file.Attributes = FileAttributes.Normal; 去掉只读,如果文件是隐藏也能吗?
      

  4.   

    看3楼给的链接,msdn上的,做法比较正宗
      

  5.   

    http://support.microsoft.com/kb/326201/en-us
      

  6.   

    void ClearFolder(DirectoryInfo folder)
    {
        foreach (FileInfo file in folder.GetFiles())
        {
            file.Attributes = FileAttributes.Normal; // 去掉只读等属性。如果文件是隐藏也能吗?
            file.Delete();
        }    foreach (DirectoryInfo subfolder in folder.GetDirectories())
            subfolder.Attributes = FileAttributes.Normal;
    }private void button1_Click(object sender, EventArgs e)
    {
        ClearFolder(new DirectoryInfo(Environment.GetFolderPath(
            Environment.SpecialFolder.InternetCache)));
    }
      

  7.   

    folder.GetFiles()是只能获得一个desktop.ini文件
    正确方法见3楼