Открыть сервисСервис

Включи где — команда операционных систем

«Включи где» (англ. where) — утилита командной строки в семействе операционных систем Microsoft Windows, предназначенная для поиска расположения исполняемых файлов в заданных директориях. Команда выполняет поиск файлов с указанным именем и расширениями .exe, .bat, .cmd, .com по каталогам, перечисленным в переменной окружения PATH, а также по дополнительным путям, переданным командной строке.

Назначение и принцип работы

Утилита where была введена в состав Windows начиная с Windows Vista и Windows Server 2008 и с тех пор входит во все актуальные версии системы. Она заменила собой более раннюю утилиту which, доступную в UNIX-подобных системах, и выполняет сходную задачу: определяет, какой исполняемый файл будет запущен при вводе определённой команды в оболочке.

Принцип работы заключается в следующем: при вызове where имя_файла утилита последовательно перебирает каталоги, перечисленные в переменной окружения PATH, и выводит полные пути ко всем найденным файлам с указанным именем. Если совпадений несколько (например, одноимённые утилиты присутствуют в разных каталогах), where выводит их все в порядке приоритета — от каталогов с более высоким приоритетом в PATH к менее приоритетным.

Синтаксис и параметры

Базовый синтаксис команды:

`` where [параметры] имя_файла [...] ``

Основные параметры:

ПараметрОписание
/R <корневой_каталог>Рекурсивный поиск во всех подкаталогах указанного каталога
/QТихий режим: возвращает код выхода 0 при нахождении и 1 при отсутствии совпадений, без вывода путей
/FВывод полных путей к файлам (поведение по умолчанию)
/TВывод только имён найденных файлов без путей

Имя файла может содержать подстановочные символы и ?, что позволяет выполнять поиск по маске. Например, where .txt выведет пути ко всем файлам с расширением .txt в каталогах из PATH.

Примеры использования

Поиск утилиты ipconfig:

`` C:\> where ipconfig C:\Windows\System32\ipconfig.exe ``

Поиск нескольких файлов за один вызов:

`` C:\> where notepad.exe cmd.exe C:\Windows\System32\notepad.exe C:\Windows\System32\cmd.exe ``

Рекурсивный поиск по всем подкаталогам диска C:\Tools:

`` C:\> where /R C:\Tools *.exe ``

Тихий режим, полезный в пакетных файлах для проверки наличия программы:

`` C:\> where /Q python.exe C:\> if %errorlevel%==0 (echo Python найден) else (echo Python не найден) ``

Отличие от команды which и where.exe в PowerShell

В UNIX-подобных системах (Linux, macOS) аналогом where является команда which, а также whereis и type. В Windows PowerShell также существует псевдоним where, связанный с cmdlet Where-Object, который выполняет совершенно другую задачу — фильтрацию объектов по условию. Для вызова именно утилиты where.exe в PowerShell необходимо указывать полное имя с расширением .exe либо использовать полный путь C:\Windows\System32\where.exe.

Коды возврата

Утилита возвращает код 0 при успешном нахождении хотя бы одного совпадения и код 1, если совпадений не найдено. Это делает where удобным инструментом для использования в пакетных файлах (.bat, .cmd) и скриптах автоматизации.

См. также

Источники

Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru