@echo off setlocal set distro=fspecs cd /d "%~dp0" :arch echo 1) 32-bit (recommended) echo 2) 64-bit set /p arch= echo. if not "%arch%" == "1" if not "%arch%" == "2" goto arch if exist "%cd%\dist" ( echo deleting old dist... rmdir /s /q "%cd%\dist" if not "%errorlevel%" == "0" echo something went wrong while deleting old dist & goto error ) if not exist "%cd%\python34" ( echo. echo downloading python 3.4.4... if "%arch%" == "1" curl https://www.python.org/ftp/python/3.4.4/python-3.4.4.msi -o python-3.4.4.msi if "%arch%" == "2" curl https://www.python.org/ftp/python/3.4.4/python-3.4.4.amd64.msi -o python-3.4.4.msi if not "%errorlevel%" == "0" echo something went wrong while downloading python & goto error echo. echo extracting python 3.4.4... start /wait msiexec /a "%cd%\python-3.4.4.msi" /qb targetdir="%cd%\python34" if not "%errorlevel%" == "0" echo something went wrong while extracting python & goto error del "%cd%\python-3.4.4.msi" ) REM set path set path=%cd%\python34;%path% REM check version python.exe --version | find /i "3.4.4" >nul if not "%errorlevel%" == "0" echo something went wrong while setting the path (wrong version) & goto error echo. echo installing prerequisites... python.exe -c "import ensurepip;ensurepip.bootstrap()" if not "%errorlevel%" == "0" echo something went wrong while installing a prerequisite & goto error python.exe -m pip install "pefile==2019.4.18" if not "%errorlevel%" == "0" echo something went wrong while installing a prerequisite & goto error python.exe -m pip install "PyInstaller==3.4" if not "%errorlevel%" == "0" echo something went wrong while installing a prerequisite & goto error python.exe -m pip install "colorama==0.3.5" if not "%errorlevel%" == "0" echo something went wrong while installing a prerequisite & goto error echo. echo compiling script... python.exe -m PyInstaller "%cd%\%distro%.py" --onefile if not "%errorlevel%" == "0" echo something went wrong while compiling a script & goto error echo. echo copying config files... copy "%cd%\%distro%.ini" "%cd%\dist" copy "%cd%\%distro%.ascii-*" "%cd%\dist" echo. echo cleaning up... rmdir /s /q "%cd%\build" rmdir /s /q "%cd%\__pycache__" del %distro%.spec REM done echo. echo done. echo you can find the EXEs in dist\ pause goto exit :error pause goto exit :exit