Исполнимый поиск DOS кроме ПУТИ

У меня есть cmd, открытый (Windows 7), и я ввожу "java.exe", и система находит исполняемый файл в c:\program files\java\jre6\bin.

Однако эта папка не находится в пути. Что другое влияние механизма exe поиск?

3
задан 03.07.2014, 21:31

2 ответа

Начиная с Vista и выше, Windows теперь включает названную утилиту where. Эти функции программы точно так же, как Вы ожидали бы дубликат Unix к (я рад, что они добавили его!)

Использование:

C:\>where java
C:\Windows\System32\java.exe

О чем еще более хорошо where это, это покажет Вам всем исполняемые файлы, которые это находит в Вашем пути, поэтому если у Вас также был java.exe в C:\Windows it would show up under the \System32\ один.

Править

Я полагал, что буду также включать опцию для пользователей XP, которые хотели бы функциональность без сторонних инструментов. Raymond Chen записал командный сценарий в 90 байтах "whereis" программа. Это - хороший один лайнер, который выполняет ту же задачу!

@for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i

Сохраните вышеупомянутый сценарий в .bat или .cmd файле, и можно запустить его из командной строки с именем файла как аргумент. Это будет работать точно так же, как Вы ожидаете! (отметьте, при использовании версии сценария, бросьте расширение, она будет искать все исполняемые расширения Вас),

14
ответ дан 07.12.2019, 22:51
  • 1
    +1 для плохо мне знакомого. Это работает так же к find команда в Unix (в отличие от этого, find команда в DOS или Windows). Можно сделать where -r \users\username\documents *.xl* например. – Paused until further notice. 06.10.2009, 21:12

существует копия java.exe в c:\windows\system32 (which is a path defined in the environment variables). это - то, которое подходит, когда Вы вводите java.exe в командной строке, не тот в c:\program files\java\jre6\bin.

2
ответ дан 07.12.2019, 22:51

Теги

Похожие вопросы