@echo off SETLOCAL ENABLEDELAYEDEXPANSION REM Get the directory of the currently running script SET "SCRIPT_DIR=%~dp0" @REM REM Set the path to the .env file relative to the script's location @REM SET "ENV_FILE=!SCRIPT_DIR!src\main.py" @REM REM Set the path to the temporary file @REM SET "TEMP_FILE=!SCRIPT_DIR!src\temp.py" REM Set the path to the main.py file relative to the script's location SET "MAIN_PY_FILE=!SCRIPT_DIR!src\main.py" REM Create a temporary file to store the environment variables SET "TEMP_FILE=!SCRIPT_DIR!src\temp.py" REM Check if the main.py file exists IF NOT EXIST "!MAIN_PY_FILE!" ( echo main.py file not found at "!MAIN_PY_FILE!" pause exit /b 1 ) REM Check if the environment variables are already present in the main.py file FINDSTR /C:"TEL_FLAG" "!MAIN_PY_FILE!" > NUL IF %ERRORLEVEL% == 0 ( echo Environment variables already present in main.py file. exit /b 0 ) REM Create a new temporary file and add new lines to it if not already added ( echo import os >> "!TEMP_FILE!" echo os.environ['LOGCHECK'] = "false" >> "!TEMP_FILE!" @REM Write all of the ENV variables values like above and ONLY THEN EXECUTE THE SCRIPT!! ) REM Append the original .env file's content to the temporary file type "!MAIN_PY_FILE!" >> "!TEMP_FILE!" REM Replace the original .env file with the temporary file move /Y "!TEMP_FILE!" "!MAIN_PY_FILE!" REM Change to the src directory CD /D "!SCRIPT_DIR!src" REM Ask the user for the site-packages path SET /P SITE_PACKAGES_PATH="Enter your virtual environment site-packages path (e.g., yourvirtualenvname/Lib/site-packages): " REM Prepare the command to generate the exe SET "FINAL_COMMAND=pyinstaller --onefile --add-data ".env;." --add-data "logger.ini;." --add-data "data;data" --add-data "!SITE_PACKAGES_PATH!;." main.py" REM Print the final command echo Final command to execute: echo !FINAL_COMMAND! REM Execute the command CALL !FINAL_COMMAND! REM Check if the command was successful IF ERRORLEVEL 1 ( echo Error: Exe creation failed. ) ELSE ( echo Exe creation successful. REM Copy the .env file to the dist directory ) REM Prevent the command prompt from closing automatically pause ENDLOCAL