假设我正在运行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
您可以使用两个命令行工具获取此信息:assoc
和ftype
:
help assoc
显示或修改文件扩展名关联help ftype
显示或修改文件扩展名关联中使用的文件类型
您可以将它们组合起来以生成所需的信息:
for /f "delims== tokens=2" %a in ('assoc .pdf') do @ftype %a
直接从命令行运行此命令应该会为您提供为.pdf
文件注册的程序的路径和参数
答案3
我遇到了同样的问题,其他解决方案对我来说不起作用。但这个有效:
- 通过打开具有适当文件扩展名的文件来打开该程序。
- 进入任务管理器
- 展开适当的进程树(如果需要)
- 右键单击该程序,然后单击“打开文件位置”
这将带您进入实际运行该进程的可执行文件。