在 Windows 中查找给定文件类型的标准可执行文件的路径

在 Windows 中查找给定文件类型的标准可执行文件的路径

假设我正在运行cmd并通过输入以下命令打开一个应用程序start document.pdf

我想获取打开.pdf文件的可执行文件的确切路径

当然,我可以搜索整个系统以查找可执行文件,但我想这样会更快,因为路径已经存储在某个地方

我不知道这是否有区别,但我用的是 Windows 7

答案1

遗憾的是,exe 的位置通常在注册表中定义。例如,我将 .txt 定义为使用“notepad++”打开。

因此,要找到该文件的关联,我必须转到:

"Open Control Panel > Control Panel Home > Default Programs > Set Associations".

从那里它会显示 Notepad++ 是我的默认程序。

然后我必须进入 Notepad++ 的注册表,例如:

"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Notepad++"

并查看完整的文件位置,如下所示:

C:\Program Files\Notepad++

编辑:

您安装的每个程序通常都有一个与之关联的注册表,可以在其中进行配置。大多数程序的详细信息可以在以下位置找到:

"HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node" (64 bit)
"HKEY_LOCAL_MACHINE\SOFTWARE\" (32 bit)

因此,您需要使用 regedit.exe 到这些位置,找到您的程序并查看 exe 的位置

答案2

您可以使用两个命令行工具获取此信息:assocftype

help assoc
显示或修改文件扩展名关联

help ftype
显示或修改文件扩展名关联中使用的文件类型

您可以将它们组合起来以生成所需的信息:
for /f "delims== tokens=2" %a in ('assoc .pdf') do @ftype %a

直接从命令行运行此命令应该会为您提供为.pdf文件注册的程序的路径和参数

答案3

我遇到了同样的问题,其他解决方案对我来说不起作用。但这个有效:

  1. 通过打开具有适当文件扩展名的文件来打开该程序。
  2. 进入任务管理器
  3. 展开适当的进程树(如果需要)
  4. 右键单击该程序,然后单击“打开文件位置”

这将带您进入实际运行该进程的可执行文件。

相关内容