Подтвердить что ты не робот

Доступ запрещен к файлу в Windows 7 для учетной записи администратора

Я хочу удалить репозиторий git (.git), созданный git в окне Windows 7. Он говорит, что доступ запрещен .git/refs/header folder.

Я открываю консоль с ролью администратора, выдает команду "takeown/F heads/A/R", она все еще говорит "ERROR: Access is denied.", и я не могу сделать это через диалог безопасности GUI.

Любое предложение?

С уважением, Зеленый

4b9b3361

Ответ 1

Ошибка отказа в доступе может означать, что файл используется другим процессом и для репозитория GIT, который кажется более вероятным, чем проблема с правами доступа к файлам.

(Я предполагаю, что GIT похож на SVN, где каждый файл в репозитории создается вашей собственной учетной записью со стандартными разрешениями. Если это не так, то я могу ошибаться.)

  • В качестве первого шага запустите Process Explorer в качестве администратора и нажмите Ctrl-F, чтобы открыть окно, в котором вы можете ввести имя файла и посмотрите, какие процессы (если они есть) открывают этот файл.

    Когда я говорю "run as Administrator":

    Я имею в виду не только при входе в систему как администратор. Windows 7 UAC означает, что учетные записи администратора не запускают файлы с полным доступом администратора по умолчанию. Щелкните правой кнопкой мыши procmon.exe и выберите параметр "Запуск от имени администратора".

    Я предполагаю, что вы уже знакомы с этим при запуске командной строки в качестве администратора. Если вы только что изменили на учетную запись администратора, но не использовали "Запуск от имени администратора" в командной строке, это может быть причиной отказа команды takeown. В командной строке должно быть указано "Administrator:" в заголовке окна, если он правильно поднят, если только UAC не выключен полностью.

  • Если указан один или несколько процессов, подтвердите полный путь к файлу в списке (в случае, если какой-либо другой файл на диске имеет аналогичное имя).

  • Закройте все процессы, в которых файл открыт. Попытайтесь закрыть их, если сможете. В крайнем случае вы можете их остановить. Если это процесс, выполняемый как другой пользователь/учетная запись, это может быть служба, которую вы можете остановить.

    (Убедитесь, что View- > Показать процессы для всех пользователей отмечены галочкой, а затем найдите соответствующий процесс через столбец PID. Если вы считаете это услугой, наведите указатель мыши на нее и появится всплывающая подсказка, в которой указывается имя (s ) всех запущенных сервисов.)

  • Если вы не можете найти какой-либо процесс доступа к файлу или закрыть его, все все равно приведет к ошибке отказа в доступе, и вы определенно попробуете удалить из командной строки с повышенными правами, тогда вы можете попытаться сообщить Windows удалите файл при следующей перезагрузке. Вы можете использовать инструмент SysInternals MoveFile для этого.