2015-03-24 56 views
1

程序的完整路径,我有多个活动路径,当我运行下面的行获取CMD线

c:\> myProg.exe 

MYPROG.EXE执行,但我不知道它实际上是位于。

是否有任何命令行工具可以帮助我反向查找myProg所在的物理文件夹?

+0

请参阅[在批处理脚本中执行'哪个'命令](http://stackoverflow.com/a/21146630/1012053),该脚本会准确告知您在给定任何命令后会运行的内容。 – dbenham 2015-03-26 03:56:19

回答

1

很简单只是

where myprog.exe 

例如

where ping 

结果:

C:\Windows\System32\PING.EXE 
+0

不幸的是,WHERE列出了所有匹配的路径 - 它不会告诉你哪一个会实际执行。此外,它不识别内部命令。 – dbenham 2015-03-26 03:57:49

+0

hello @dbenham总是存在简单的方式你的bat文件非常复杂'Start-Process -PassThru powershell.exe | Get-Process -Module'这个简单的powershell脚本运行“process”获取进程和子进程 – powershell 2015-03-26 10:47:21

+0

但是如果你想要的答案没有实际运行命令。该命令有可能具有破坏性,或者可能是资源匮乏。我的批处理脚本的一部分复杂性是在没有实际运行命令的情况下获得答案(除了使用内部命令的帮助选项外)。另外,我的脚本专门用于CMD.EXE环境,因此它能够检测内部命令。 – dbenham 2015-03-26 12:11:45

1

您可以找到使用应用程序的完整路径:

for %i in (ping.exe) do @echo.%~$PATH:i 
+0

这将无法检测当前目录中的文件(除非当前目录也在PATH中)。此外,这无法识别内部命令。 – dbenham 2015-03-26 03:58:40