Назад | Перейти на главную страницу

Есть ли Windows-эквивалент для Unix / Linux which statement?

Оператор 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 имеет встроенное «где».

А если ваша программа интерактивна, вы всегда можете проверить Диспетчер задач. Выберите процесс, который вы хотите изучить, и выберите «Открыть расположение файла» во всплывающем меню.