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


1

假设我正在运行,cmd并且通过键入例如打开应用程序start document.pdf

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

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

我不知道这有什么不同,但我使用的是Windows 7

Answers:


2

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

因此,要找到文件的关联是什么,我必须去:

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

从那里将显示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的位置


您可以在“转到Notepad ++的注册表”部分上进行更多开发吗?
gsmafra

编辑了主要帖子
杰伊

小观察:我的计划是不是在上市HKEY_LOCAL_MACHINE\SOFTWARE\HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node让我跑了CTRL + f命令找到它
gsmafra

不能确定-只是典型的位置。它可以变化很多。
周杰伦

6

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

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

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

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

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


奇怪的是,这没有给我正确的程序。看到这里,我的标准.pdf程序是Evince,您的命令正在返回Acrobat Reader
gsmafra 2015年

1
@gsmafra您说对了,似乎并不总是返回预期的结果,例如。此处:superuser.com/questions/204354/…以及此处: superuser.com/questions/266268/…–
wmz
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.