How to test if an executable exists in the %PATH% from a windows batch file?

sorin picture sorin · Jan 24, 2011 · Viewed 54.3k times · Source

I'm looking for a simple way to test if an executable exists in the PATH environment variable from a Windows batch file.

Usage of external tools not provided by the OS is not allowed. The minimal Windows version required is Windows XP.

Answer

Ryan Bemrose picture Ryan Bemrose · Sep 6, 2014

Windows Vista and later versions ship with a program called where.exe that searches for programs in the path. It works like this:

D:\>where notepad
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe

D:\>where where
C:\Windows\System32\where.exe

For use in a batch file you can use the /q switch, which just sets ERRORLEVEL and doesn't produce any output.

where /q myapplication
IF ERRORLEVEL 1 (
    ECHO The application is missing. Ensure it is installed and placed in your PATH.
    EXIT /B
) ELSE (
    ECHO Application exists. Let's go!
)

Or a simple (but less readable) shorthand version that prints the message and exits your app:

where /q myapplication || ECHO Cound not find app. && EXIT /B