如何诊断“Windows 无法访问指定的设备、路径或文件”错误?

如何诊断“Windows 无法访问指定的设备、路径或文件”错误?

在命令行运行 Python 脚本时出现此错误

Windows 无法访问指定的设备、路径或文件。您可能没有适当的权限来访问该项目。

我如何检查系统尝试访问的路径?系统日志(应用程序、安全、设置、系统)中均未创建任何条目。我在网上找到的所有解决方案都提到更改文件的属性。问题是,在这种情况下,我不知道系统尝试使用哪个文件来处理 Python 脚本。我如何找到此信息?我猜一个监控系统尝试打开的所有文件的工具可能会有所帮助。

细节

当我尝试.py在命令行中通过仅提供脚本名称(如sample.py)来运行带扩展名的 Python 脚本时,我收到上述错误。我猜问题是由于文件关联不良造成的,但是...运行reg query HKCR\.py /ve给出(Default) REG_SZ Python.Filereg 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。

编辑

进程监视器非常有用,但我仍然找不到导致问题的确切根源。尝试启动 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. 打开进程监控
  2. 运行您的应用程序并等待错误发生。
  3. 为您的应用程序创建一个过滤器,通过右键单击显示进程名称您的申请并点击包括“yourapp.exe”
    在此处输入图片描述
  4. 现在看看你得到了什么样的返回值。打开工具菜单并点击计数发生次数
    在此处输入图片描述
  5. 在里面柱子字段,选择结果并击中数数
    在此处输入图片描述
  6. 现在寻找可能与您的问题相关的错误。
    我们有 2没有这样的文件错误,听起来很有趣。让我们双击它!
  7. 我们开始吧...
    在此处输入图片描述

相关内容