У меня возникали проблемы с установкой атрибутов с папками, в которых были файлы, в которые были установлены Readonly. Я могу установить атрибуты папки, но не файлы внутри.Настройка атрибутов файла рекурсивно вложенных папок
Это установит атрибуты, включая подпапки, а затем удалит. Найдено информация о codeproject.
использовать это:
ScanDirectory scanDirectory = new ScanDirectory();
scanDirectory.WalkDirectory(@"/Storage Card");
public class ScanDirectory
{
public void WalkDirectory(string directory)
{
WalkDirectory(new DirectoryInfo(directory));
}
private void WalkDirectory(DirectoryInfo directory)
{
// Scan all files in the current path
foreach (FileInfo file in directory.GetFiles())
{
file.Attributes &= ~FileAttributes.ReadOnly;
file.Delete();
}
DirectoryInfo[] subDirectories = directory.GetDirectories();
// Scan the directories in the current directory and call this method
// again to go one level into the directory tree
foreach (DirectoryInfo subDirectory in subDirectories)
{
WalkDirectory(subDirectory);
subDirectory.Attributes &= ~FileAttributes.ReadOnly;
subDirectory.Delete();
}
}
}
Я думаю, что ваш кто le интересует этот вопрос: http://stackoverflow.com/questions/611921/how-do-i-delete-a-directory-with-read-only-files-in-c :-) – C4stor