@echo off rem This batch file searches for a Python interpreter and uses it to run a rem script. It displays an error message if not Python is found. The script rem to run must have the same filename as the batch file, with an extension of rem .py rather than .bat. setlocal rem %0 is the name of the batch file. "dpn" means drive, path, filename rem (excluding extension). set PROG=%~dpn0.py if not exist "%PROG%" ( echo Cannot run %PROG% echo because that file does not exist. exit /B 1 ) set PATH=%PATH%;C:\Python27;C:\Python26;C:\Python25;C:\Python24 for %%P in ( python.exe ) do set PYTHON=%%~f$PATH:P if not exist "%PYTHON%" GOTO:NOPYTHON GOTO:EXEC :NOPYTHON echo Cannot run %PROG% echo because python.exe was not found anywhere in echo %PATH%. echo. echo To run this program, download and install Python from echo http://www.python.org/download. exit /B 1 :EXEC rem This command chaining allows the exit code to propagate. endlocal & "%PYTHON%" "%PROG%" %*