Windows / Powershell версия Unix, которая 'Утилита - PullRequest
7 голосов
/ 19 декабря 2011

Утилита 'which' при запуске с параметром, именующим исполняемый файл, сообщит вам первый исполняемый файл с тем именем, которое он найдет в вашем пути, если он вообще найден. Это дает хорошее представление о том, какая версия исполняемого файла будет запущена. (Простите, если это описание неполное, но оно передает общую идею)

Я ищу порт утилиты 'which', команду Powershell или другую утилиту, о которой я не знаю, которая делает то же самое.

Я посмотрел на следующий вопрос SO (и попробую логику цикла for в выбранном ответе). Я бы предпочел иметь одну команду, которая реализует эту функциональность, и хочу посмотреть, существует ли она. Если чего-то подобного не существует, эту логику достаточно легко вставить в скрипт:

unix "какая java" эквивалентная команда для windows?


Утилита "winwhich" в CodeProject существует. Он не обновлялся в течение 6 лет или около того, и при сборке на моей машине с Win 7 с VS 2010, сбой при запуске Я планирую проявить должную осмотрительность, чтобы выяснить, почему он рухнул, но у меня нет времени до сегодняшнего вечера.


Кто-нибудь использовал другую утилиту или команду в Windows для эмуляции этой функции?

Ответы [ 3 ]

13 голосов
/ 19 декабря 2011

Вы можете использовать Get-Command <command> или сократить его до gcm.

7 голосов
/ 20 декабря 2011

where делает то же самое в последних версиях Windows. Если вам нужна команда PowerShell, ответ Новакова верен.

1 голос
/ 21 июля 2017

В Windows из командной строки (cmd)

cmd> where <command>

В Powershell (PS)

ps> get-command <command>
ps> where.exe <command>

Вы также можете добавить псевдоним к команде 'which' в PS

ps> New-Alias which get-command

и теперь вы можете использовать команду 'which' как обычно

ps> which <command>
...