Точный Windows-эквивалент команды Unix which (1)

647
SamB

Возможное дублирование:
Windows-эквивалент whereis?

Достаточно просто написать простой скрипт, который работает как команда which (1) из unix, которая ищет данную команду по PATH. К сожалению, функция CreateProcess не так проста, поэтому этот тип сценария не дает точных результатов: CreateProcess просматривает ряд каталогов, не входящих в PATH, ищет файлы со всеми расширениями, перечисленными в PATHEXT, и т. Д. Хуже того, кто знает, что может быть добавлено в будущих версиях Windows?

В любом случае, мой вопрос: есть ли надежный, точный (1) эквивалент для Windows, который всегда говорит вам, какой файл CreateProcess найдет?

2
Я не понимаю, как это является точной копией «Windows-эквивалента whereis», поскольку спрашивающий может не знать, что такое «whereis» (как я этого не знаю, и я использовал unix в течение десятилетий). И теперь, когда я посмотрел, не очевидно, как сопоставить использование whereis с использованием which. LarsH 13 лет назад 0

1 ответ на вопрос

3
nc3b

Я использую gnuwin32, который :-)

Порт GnuWin32, который ищет соответствующий файл в следующей последовательности каталогов:

* The current directory. * The directories that are listed in the PATH environment variable