我正在制作程序来删除我在PC上的一些文件。但是当我尝试这样做时,我收到一些错误消息:
如果您尝试访问文件,请确保它不是ReadOnly。
确保您有足够的权限来访问此资源。
获取此例外的常规帮助。
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);
}
}
我想得到一些帮助。 我如何询问用户,让我获得删除它的特权。
答案 0 :(得分:1)
嗯..你的代码在做什么:你正在删除目录,如果它给出了任何异常,那么你再次尝试在你得到异常的同一步。
首先,错误是因为文件被设置为只读或因为您没有足够的权限来删除目录(或者某些进程正在使用您尝试删除的文件)
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());
}
如果此代码仍无效,请检查您是否具有删除该文件夹的管理员权限
答案 1 :(得分:0)
听起来您的文件是只读的,或者您无权根据用户登录信息删除所需的文件。