Оператор Unix which очень полезен для определения пути, используемого для запуска программы из командной строки, и было бы очень полезно иметь что-то подобное в Windows.
Сохраните это в файл с именем which.cmd
:
@for %%e in (%PATHEXT%) do @for %%i in (%1%%e) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i
@for %%i in (%1) do @if NOT "%%~$PATH:i"=="" echo %%~$PATH:i
Или скачать UnxUtils - у них есть облегченные собственные порты наиболее распространенных инструментов.
Или, если вас не волнует легкость, установите Microsoft Сервисы для Unix. Да, есть Microsoft Vi.
я использую где написано Джозефом М. Ньюкомером (соавтором Win32 Programming).
Нет, нативного эквивалента нет. Невозможно даже завершить команду с помощью ^F
в cmd /f:on
панцирь, больше жаль.
Вы всегда можете установить Windows-порт среды оболочки Unix, чтобы получить which
, конечно.
У вас это есть с PowerShell. Если у вас нет PS, вы можете возьми от Microsoft. Это бесплатно.
Вот статья из Linux-журнал который затрагивает тему команд Unix (bash), доступных в PowerShell.
Windows Server 2003/2008 имеет встроенное «где».
А если ваша программа интерактивна, вы всегда можете проверить Диспетчер задач. Выберите процесс, который вы хотите изучить, и выберите «Открыть расположение файла» во всплывающем меню.