Как диагностировать ошибку "Windows не может получить доступ к указанному устройству, пути или файлу"?

При запуске скрипта Python из командной строки я получаю эту ошибку

Windows не может получить доступ к указанному устройству, пути или файлу. У вас нет соответствующих прав доступа к элементу.

Как я могу проверить, по какому пути система пытается получить доступ? Записи не создаются ни в одном из системных журналов (Приложение, Безопасность, Настройка, Система). Все решения, которые я нашел в Интернете, упоминают изменение свойств файла. Проблема в этом случае, я не знаю, какой файл пытается использовать система для обработки скрипта Python. Как я могу найти эту информацию? Я думаю, что инструмент, который контролирует все файлы, которые пытается открыть система, может помочь здесь.

подробности

Когда я пытаюсь запустить скрипт Python с .py расширение в командной строке, просто указав имя скрипта (например, sample.py) Я получаю вышеуказанную ошибку. Я думаю, что проблема из-за плохой ассоциации файлов, но... работает reg query HKCR\.py /ve дает (Default) REG_SZ Python.File а также reg query HKCR\Python.File\shell\open\command /ve дает (Default) REG_SZ c:\python\2.7\python.exe "%1" %* и файл c:\python\2.7\python.exe существует, и я могу запустить его из командной строки без проблем. Это заставляет меня думать, что система пытается открыть скрипт Python, используя другой путь в реестре. Проблема в том, что я понятия не имею, что это за путь.

Windows Vista 64-битная, работает 64-битный cmd.exe, 64-битный Python.

РЕДАКТИРОВАТЬ

Process Monitor очень полезен, но я все еще не могу найти точную причину, вызывающую проблему. При попытке запустить скрипт Python генерируется 866 ​​записей:

BUFFER TOO SMALL                 1
END OF FILE                      1
FILE LOCKED WITH ONLY READERS   12
NAME NOT FOUND                 301
NO MORE ENTRIES                  4
REPARSE                          5
SUCCESS                        542

Нет никаких NO SUCH FILE результат. Я думаю, это потому, что система даже не пытается запустить исполняемый файл для открытия файла Python из-за невозможности найти подходящую запись реестра, определяющую обработчик для .py файлы. Есть 178 поступлений типа RegQueryKey и 141 запись типа RegQueryValue но я с трудом пытаюсь сделать какой-либо вывод, читая их.

1 ответ

Быстрый учебник для начинающих

  1. Откройте Process Monitor.
  2. Запустите ваше приложение и дождитесь появления ошибки.
  3. Создайте фильтр для своего приложения, щелкнув правой кнопкой мыши любую запись, отображающую имя процесса вашего приложения, и нажав Включить "yourapp.exe".
    введите описание здесь
  4. Теперь посмотрим, какие возвращаемые значения вы получили. Откройте меню " Инструменты" и нажмите " Количество вхождений".
    введите описание здесь
  5. В поле " Столбец" выберите " Результат" и нажмите " Количество".
    введите описание здесь
  6. Теперь найдите ошибку, которая может быть связана с вашей проблемой.
    У нас 2 ошибки ТАКОГО ФАЙЛА, это звучит интересно. Давайте дважды щелкните по нему!
  7. И там мы идем...
    введите описание здесь
Другие вопросы по тегам