Я пишу Программное обеспечение, которое может удалять временные файлы, данные предварительной выборки, файлы в последней папке и т. Д. Моя проблема заключается в том, что я могу успешно удалять файлы из папки Temp, но когда я пытаюсь найти последнюю папку, генерируется исключение, «Access to path ... is denied». PS: В соответствии с некоторыми другими вопросами, я установил атрибуты File в нормальное состояние, но все равно не повезло. Пожалуйста, помогите мне в этом вопросе. Для вашего лучшего понимания я приведу здесь код:Не удается удалить файлы из последней папки
public Boolean CleanRecentData()
{
isAllClean = true;
String SysRecentPath = System.Environment.GetEnvironmentVariable("USERPROFILE") + "\\Recent";
DirectoryInfo SysRecDir = new DirectoryInfo(SysRecentPath);
File.SetAttributes(SysRecentPath, FileAttributes.Normal);
foreach (FileInfo fi in SysRecDir.GetFiles()) //Access Denied
//Exception is thrown here
{
try
{
fi.Delete();
}
catch (Exception ex)
{
recentLogLines.AppendLine(ex.Message);
isAllClean = false;
}
}
foreach (DirectoryInfo dir in SysRecDir.GetDirectories())
{
try
{
dir.Delete(true);
}
catch (Exception ex)
{
recentLogLines.AppendLine(ex.Message);
isAllClean = false;
}
}
return isAllClean;
}
Пытались ли вы используете свой исполняемый файл с правами администратора? – MarcF
Кроме того, FYI, я предлагаю не просто регистрировать ex.Message, а скорее ex.ToString(). –
@MarcF, спасибо, но я пробовал с разрешением администратора. Мое имя пользователя в Win7 имеет привилегию администратора. Я могу удалить любой другой файл, но не могу удалить файл из последней папки – jchoudhury