Почему я получаю сообщения об отказе в доступе к файловой системе, когда я являюсь администратором?

3487
Chris

В одном случае я просто писал тестовое приложение для перечисления всех файлов в моей системе, и я получал ошибку «Отказано в доступе» для «C: \ Documents and Settings» (которая была возвращена .NET, когда я сказал «дай мне» все подпапки в c: \ ').

Почему это происходит?

К вашему сведению: я использую Windows 7.

1

2 ответа на вопрос

2
Phoshi

c:\documents and settingsна самом деле не существует. Он указывает прямо на \users(На полпути приличный \documents and settings?путь к файлу . Я имею в виду, что они ДУМАЛИ?), Это не реальный путь, а только для соображений совместимости. Вы пытаетесь сохранить файл в c:\documents and settings\username\hello.txt, он будет работать, но он только там по соображениям совместимости.

Удаление файла с USB-накопителя - это один из тех файлов, которые можно установить только для чтения? Если так, то это?

Да, я пытался сказать, что мое приложение на самом деле получило «c: \ documents and settings», вызвав Directory.GetDirectories (), поэтому я запутался, почему API возвращает каталог, который на самом деле не существует. В любом случае, я также получаю такие ошибки при попытке сканирования через другие папки. Chris 14 лет назад 1
К сожалению, это не единственная ложная папка в файловой системе. Это ** существует **, но только едва. Боюсь, это просто то, с чем тебе приходится иметь дело. Если API не возвращает его, более старые программы или программы, которые полагаются на него, возвращающие его, потерпят неудачу, тогда написанные программы могут быть написаны ЛУЧШЕ из-за этого;) Phoshi 14 лет назад 0
Вы пытались взять на себя владение диска ВСЕ С ?? если вы делаете это и указываете пользователю, что запускаете программу, она не должна получить отказ в доступе. mike 14 лет назад 0
** NO **. Возможно, это было бы приемлемо и в XP, но Vista / 7 пытается полностью изменить «у нас всегда будут права администратора!». Вы не будете, и если вы не можете написать свою программу, не нуждаясь в них, у вас будет чертовски веская причина. Phoshi 14 лет назад 0
@mike - Очень плохой совет, потому что в комментариях больше причин, чем я могу добавить. MDMarra 14 лет назад 2
1
darkstar13

Я думаю, что бы вы ни пытались написать, что бы вы ни пытались написать, вы должны «взять на себя ответственность» за любой диск / папку, доступ к которым вам запрещен. Даже если вы являетесь администратором, если группа администраторов не определена в списке пользователей с доступом, вы все равно не сможете получить доступ к файлу / диску. Просто "Возьми на себя ответственность" за файл, проблема решена. В свойствах папки вы увидите, что у вас нет доступа (группа администраторов), поэтому вам было отказано в доступе к папке / файлу / диску и т. Д.

Вот ссылка: http://www.howtogeek.com/howto/windows-vista/add-take-ownership-to-explorer-right-click-menu-in-vista/