2015-03-24 41 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