Вы можете использовать System.IO.DirectoryInfo
, а затем вызвать метод Delete(true)
для рекурсивного удаления всех папок и файлов в указанной папке.
Информация каталога MSDN
Теперь, чтобы удалить только папки без прав администратора, вы имеете в виду те, которые принадлежат администратору или те, которые принадлежат администратору.Также вы не сможете удалить папки, которые не принадлежат текущему пользователю, поэтому вы все равно получите некоторые исключения из этого, просто удаляя их вслепую.
Редактировать в ответ на некоторые различныекомментарии
Вы можете сделать некоторые итерации по DirectorySecurity
и FileSecurity
(я думаю, что это файл), чтобы выяснить группу владельцев для каталога или файла, и оттуда определить,это админ.