Проверить существование программы в PATH - PullRequest
0 голосов
/ 19 марта 2019

Я запускаю пакетные сценарии (обычно из Visual Studio) и хочу проверить, доступна ли какая-либо программа через PATH, а если нет - показать сообщение.Простая проверка файлов, такая как

if exist mingw32-make (echo "exists") else (echo "not exists")

, не работает - оболочка всегда думает, что приложение не существует (возможно, потому что оно не просматривает PATH).
Как это сделать правильно и чисто?

1 Ответ

2 голосов
/ 19 марта 2019

where проверяет, существует ли данный файл в пути (или в текущей рабочей папке %cd%), и выдает либо полный путь (-и), либо сообщение об ошибке. И то, и другое не нужно - только уровень ошибки:

where mingw32-make >nul 2>&1
if errorlevel 1 (echo "not exists") else (echo "exists")

или как ярлык:

where /q mingw32-make && echo found || echo not found
...