«which» для Windows

«which» для Windows

Возможный дубликат:
Эквивалент whereis для Windows?

Я привык говорить «which foo» в системах Unix, чтобы увидеть, что будет запущено.

Сегодня у меня возникли проблемы с программой в Windows, и я думаю, что это может быть не та команда, которая запущена. Как определить из cmd.exe, какую программу она на самом деле запустит, когда я введу "foo"?

решение1

Я бы предложил, используя ваш пример "foo", набрать

foo /?

Это должно сделать на Windows то же самое, что добавление --help делает на Linux. Не всегда, заметьте, но это должно дать вам точно знать, что происходит, а также некоторый синтаксис команды.

решение2

Я не знаю, какой именно для Windows, но из командной строки вы можете запуститьпутьчтобы увидеть, где он ищет файлы. Я полагаю, что он ищет путь по порядку и запустит первый исполняемый файл, который найдет.

Помните, что CMD.EXE также будет искать программу для запуска в локальном каталоге, и я считаю, что это имеет приоритет.

решение3

Чтобы расширитьСтив'sотвечать, %SYSTEM_ROOT%вы можете выполнить attribпоиск, чтобы узнать, где находится «foo», а затем сравнить с %PATH%, чтобы увидеть, какой из них выполнится первым:

attrib /s foo.exe
...
echo %PATH%

решение4

Который идет в комплекте с Cygwin (http://cygwin.org) запустится из cmd.exe и, возможно, сделает то, что вы хотите. Помните, что если вы ищете .bat, вам нужно явно добавить .bat, например, "which gorp.bat" найдет gorp.bat, но "which gorp" не найдет.

Связанный контент