关闭浏览器时如何删除AppData \ Local \ Geckofx \?

时间:2013-08-10 11:28:26

标签: c# windows directory delete-file appdata

我正在使用基于Gecko的网络浏览器,我希望它在退出时删除AppData \ Local \ Geckofx \。

我目前正在使用此代码:

    protected override void OnFormClosing(FormClosingEventArgs e)
    {
        try
        {
            var dir = new DirectoryInfo(@"C:\Users\Admin\AppData\Local\Geckofx\");
            dir.Attributes = dir.Attributes & ~FileAttributes.ReadOnly;
            dir.Delete(true);
        }
        catch
        { }
    }

当然,如果用户名为“Admin”,则只会将其删除。有没有办法让它适用于所有用户名?另外我注意到这不会删除此文件夹中的所有内容,有没有办法强制删除或不是推荐的?

1 个答案:

答案 0 :(得分:1)

删除文件夹中的所有文件和文件夹;使用此代码:

foreach (FileInfo file in TheDirectory.GetFiles())
{
   file.Delete(); 
}
foreach (DirectoryInfo dir in TheDirectory.GetDirectories())
{
   dir.Delete(true); 
}

在另一个stackoverflow线程上,我发现此代码删除了只读文件:

private static void DeleteFileSystemInfo(FileSystemInfo fsi)
{
fsi.Attributes = FileAttributes.Normal;
var di = fsi as DirectoryInfo;

if (di != null)
{
    foreach (var dirInfo in di.GetFileSystemInfos())
    {
        DeleteFileSystemInfo(dirInfo);
    }
}

fsi.Delete();
}