Есть ли эквивалент «который» в командной строке Windows? - PullRequest
2126 голосов
/ 20 ноября 2008

Поскольку у меня иногда возникают проблемы с путями, когда один из моих собственных сценариев cmd скрыт (затенен) другой программой (ранее на пути), я хотел бы иметь возможность найти полный путь к программе по команде Windows строка, дана только ее имя.

Есть ли эквивалент UNIX-команды 'which'?

В UNIX which command печатает полный путь данной команды, чтобы легко находить и устранять эти проблемы с тенями.

Ответы [ 23 ]

3 голосов
/ 10 февраля 2017

TCC и TCC / LE от JPSoft - замены CMD.EXE, которые добавляют значительную функциональность. Относящийся к вопросу OP, which является встроенной командой для процессоров команд семейства TCC.

2 голосов
/ 01 июня 2018

Я давно пользуюсь модулем which из npm, и он работает очень хорошо: https://www.npmjs.com/package/which Это отличная мультиплатформенная альтернатива.

Теперь я переключился на which, который поставляется с Git. Просто добавьте к вашему пути путь /usr/bin от Git, который обычно находится в C:\Program Files\Git\usr\bin\which.exe. Двоичный файл which будет иметь значение C:\Program Files\Git\usr\bin\which.exe. Это быстрее, а также работает как ожидалось.

1 голос
/ 03 мая 2019

попробуйте

set a=%~$dir:1
If "%for%"=="" (Echo %1 not found) else (echo %1 found at %a%)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...