1

Я столкнулся со странной проблемой сегодня. При компиляции проекта C++ с использованием Makefile я генерирую файл с именем temp.log. Он содержит информацию о предупреждениях, если они будут напечатаны. Однако я случайно прервал процесс компиляции и теперь не могу получить доступ к файлу temp.log.

Вот что я пробовал:

  • Удалить файл в проводнике. Он исчезает из папки, но невозможно создать новый файл с тем же именем, за исключением случая, когда я запускаю свой Makefile, но после этого происходит сбой, поскольку в него невозможно записать данные.
  • chmod это до 0777 в MSYS. Доступ закрыт.
  • Изменить владельца на мой аккаунт. Доступ закрыт.
  • Попробуйте получить к нему доступ через командную строку от имени администратора. Доступ закрыт.
  • Переключитесь на скрытую учетную запись администратора и получите к ней доступ таким образом. Доступ закрыт.
  • Используйте takeown в качестве учетной записи администратора. Доступ закрыт...

Я в конце своего остроумия. Я понятия не имею, что происходит. Любая помощь будет принята с благодарностью.

2 ответа2

3

Несколько вещей, которые вы можете попробовать:

  • Проверьте файловую систему с помощью chkdsk.

  • Удалите файл при перезагрузке с помощью Unlocker, KilBox, Boot Deleter и т.д.

  • Загрузитесь с другого раздела или с Live CD (например, Ubuntu 12.04) и удалите файл оттуда.

3

Когда я вхожу в это, как правило, потому что что-то имеет эксклюзивный дескриптор файла

Я использую Process Explorer и щелкаю бинокль на панели инструментов, чтобы открыть меню поиска. Оттуда вы можете ввести имя файла или папки, и в нем будут перечислены все процессы, которые имеют открытый дескриптор этого файла.

Когда вы найдете нарушающую программу, вы можете либо закрыть программу, либо просто прекратить работу с дескриптором файла, щелкнув правой кнопкой мыши по нему, как только вы выбрали процесс.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .