@echo off setlocal enabledelayedexpansion rem Initialize variables set SKIP_CONFIG="" set PORT="" set DOMAIN="" rem Parse arguments :parse_args if "%~1"=="" goto end_parse if "%~1"=="--port" ( set PORT=%~2 shift shift goto parse_args ) if "%~1"=="--domain" ( set DOMAIN=%~2 shift shift goto parse_args ) if "%~1"=="--skip-config-check" ( set SKIP_CONFIG=--skip-config-check shift goto parse_args ) echo Unknown argument: %~1 exit /b 1 :end_parse rem Use the current directory where the script is executed pushd %~dp0 rem Collect all .go files in the current directory set GO_FILES= for %%f in (*.go) do ( set GO_FILES=!GO_FILES! %%f ) rem Construct the command set CMD=go run !GO_FILES! !SKIP_CONFIG! if not "%PORT%"=="" set CMD=!CMD! --port %PORT% if not "%DOMAIN%"=="" set CMD=!CMD! --domain %DOMAIN% rem Informative output echo Starting application with command: !CMD! rem Run the Go program with the constructed command call !CMD! rem Return to the original directory popd