В мире интерфейсов командной строки команда «который» часто используется разработчиками и системными администраторами в Unix-подобных операционных системах для определения пути к исполняемому файлу данной команды. Однако если вы работаете в системе Windows, команда «который» изначально недоступна. Но не бойтесь! В этой статье мы рассмотрим несколько способов достижения одинаковой функциональности в Windows, используя разные подходы и примеры кода.
Метод 1: использование команды «Where»
Один из самых простых способов найти путь к исполняемому файлу команды в Windows — использовать команду «where». Эта команда действует аналогично команде «который» в Unix-подобных системах. Вот пример:
C:\> where python
C:\Python39\python.exe
Метод 2: использование командлета PowerShell Get-Command
PowerShell, мощная оболочка командной строки и язык сценариев, предоставляет командлет Get-Command, который можно использовать для определения местоположения исполняемого файла. Вот пример:
PS C:\> Get-Command python | Select-Object -ExpandProperty Path
C:\Python39\python.exe
Метод 3: расширение командной строки Windows с помощью «where.exe».
Если вы предпочитаете использовать традиционную командную строку Windows, вы можете расширить ее функциональность с помощью утилиты «where.exe». Эта утилита доступна в большинстве современных версий Windows и может использоваться для поиска путей к исполняемым файлам. Вот пример:
C:\> where.exe python
C:\Python39\python.exe
Метод 4: создание пользовательского пакетного сценария
Для тех, кто предпочитает более практический подход, вы можете создать собственный пакетный сценарий, имитирующий функциональность команды «который». Вот пример простого пакетного скрипта с именем “what.bat”:
@echo off
setlocal
set "command=%~1"
for %%i in (%PATHEXT%) do (
for %%f in (%command%%%i) do (
if NOT "%%~$PATH:f"=="" (
echo %%~$PATH:f
exit /b
)
)
)
echo Command not found in PATH.
endlocal
Сохраните сценарий как «what.bat» и поместите его в каталог, включенный в переменную среды PATH вашей системы. Затем вы можете использовать его следующим образом:
C:\> which python
C:\Python39\python.exe
Хотя в Windows нет встроенной команды «который», как в Unix-подобных системах, существует несколько методов, которые можно использовать для достижения той же функциональности. Используя команду «where», PowerShell, утилиту «where.exe» или создав собственный пакетный сценарий, вы можете легко найти путь к исполняемому файлу команды в командной строке Windows. Эти методы обеспечивают гибкость и удобство, упрощая задачи разработки и системного администрирования.
Не забудьте выбрать метод, который лучше всего соответствует вашим потребностям и рабочему процессу. Приятного кодирования!