Я имею открытый cmd (Windows 7), и я набираю «java.exe», и система находит исполняемый файл в c:\program files\java\jre6\bin.
Тем не менее, эта папка не находится в пути. Какой другой механизм влияет на поиск exe?
Я имею открытый cmd (Windows 7), и я набираю «java.exe», и система находит исполняемый файл в c:\program files\java\jre6\bin.
Тем не менее, эта папка не находится в пути. Какой другой механизм влияет на поиск exe?
Начиная с Vista и выше, Windows теперь включает утилиту, которая называется where
. Эта программа работает так же, как вы ожидаете, что аналог Unix (я рад, что они добавили его!)
Использование:
C:\>where java
C:\Windows\System32\java.exe
Что еще лучше о том, where
в том , что он покажет вам все исполняемые файлы , которые он находит в вашем пути, так что, если вы имели java.exe в C:\Windows она будет отображаться в \System32 \ один.
РЕДАКТИРОВАТЬ
Я решил также включить опцию для пользователей XP, которые хотели бы функциональность без сторонних инструментов. Раймонд Чен написал командный сценарий в 90-байтовой программе "whereis". Это хороший лайнер, который выполняет ту же задачу!
@for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i
Сохраните приведенный выше скрипт в файле .bat или .cmd, и вы можете запустить его из командной строки с именем файла в качестве аргумента. Это будет работать так, как вы ожидаете! (обратите внимание, если вы используете версию скрипта, не указывайте расширение, оно будет искать все исполняемые расширения для вас)
в каталоге c:\windows\system32 есть копия файла java.exe (путь, определенный в переменных среды). это тот, который появляется при вводе java.exe в командной строке, а не в c:\program files\java\jre6\bin.