使用c#删除文件

本文关键字:文件 删除 使用 | 更新日期: 2023-09-27 18:17:24

我正在编写一个程序来删除我电脑上的一些文件。但是当我尝试这样做时,我得到一些错误消息,像这样:

如果您正在尝试访问一个文件,请确保它不是只读的。

请确保您有足够的权限来访问该资源。

获取此异常的一般帮助。

    foreach (string subFich in SubFicheiros)
    {
        listBox.Items.Add("- Deleting File: " + subFich.Substring(Pasta.Length + 1, subFich.Length - Pasta.Length - 1));
        ficheirosEncontrador++;
    }
    try
    {
        Directory.Delete(Pasta, true);
    }
    catch (IOException)
    {
        Thread.Sleep(0);
    //The Message Error appears here on this code right below:
            Directory.Delete(Pasta, true);
    }
    catch (UnauthorizedAccessException)
    {
        Directory.Delete(Pasta, true);
    }
}
我想在这方面得到一些帮助。我如何要求用户,让我得到特权,以删除它

使用c#删除文件

嗯…你的代码所做的是:你正在删除目录,如果它给出任何异常,那么你再次尝试执行与遇到异常时相同的步骤。

首先,错误是由于文件被设置为只读,或者因为你没有足够的权限删除目录(或者可能某些进程正在使用你试图删除的文件)

 foreach (string subFich in SubFicheiros)
{
    listBox.Items.Add("- Deleting File: " + subFich.Substring(Pasta.Length + 1, subFich.Length - Pasta.Length - 1));
    ficheirosEncontrador++;
}
try
{
var di = new DirectoryInfo(Pasta);
di.Attributes &= ~FileAttributes.ReadOnly;
 Directory.Delete(Pasta, true);
}
catch (Exception EE)
{
 MessageBox.Show("Error: "+ EE.toString());
}

如果此代码仍然不起作用,请检查您是否具有删除该文件夹的管理员权限

听起来你的文件是只读的,或者你没有权利根据你的用户登录删除你想要的文件