@echo off setlocal EnableExtensions set "F4SE_DIR=D:\SteamLibrary\steamapps\common\Fallout 4" set "F4SE_EXE=%F4SE_DIR%\f4se_loader.exe" set "SANDBOXIE_DIR=C:\Program Files\Sandboxie-Plus" set "SANDBOXIE_START=%SANDBOXIE_DIR%\Start.exe" set "SANDBOXIE_INI=%SANDBOXIE_DIR%\SbieIni.exe" set "SANDBOX_NAME=Fallout4Client2" set "START_DELAY_SECONDS=8" if not exist "%F4SE_EXE%" ( echo Could not find f4se_loader.exe at: echo "%F4SE_EXE%" echo. echo Update F4SE_DIR in this script if Fallout 4 was moved. pause exit /b 1 ) if not exist "%SANDBOXIE_START%" ( echo Fallout 4 allows only one normal instance at a time. echo Install Sandboxie-Plus, then run this script again. echo. echo Expected Sandboxie launcher: echo "%SANDBOXIE_START%" pause exit /b 1 ) call :EnsureSandbox if errorlevel 1 ( echo Failed to create or configure sandbox "%SANDBOX_NAME%". pause exit /b 1 ) echo Starting Fallout 4 instance 1... start "Fallout 4 Instance 1" /D "%F4SE_DIR%" "%F4SE_EXE%" echo Waiting %START_DELAY_SECONDS% seconds before starting instance 2... timeout /t %START_DELAY_SECONDS% /nobreak >nul echo Starting Fallout 4 instance 2 in Sandboxie box "%SANDBOX_NAME%"... pushd "%F4SE_DIR%" "%SANDBOXIE_START%" /box:%SANDBOX_NAME% "%F4SE_EXE%" set "LAUNCH_ERROR=%ERRORLEVEL%" popd if not "%LAUNCH_ERROR%"=="0" ( echo Sandboxie returned error code %LAUNCH_ERROR%. pause exit /b %LAUNCH_ERROR% ) echo Done. endlocal exit /b 0 :EnsureSandbox "%SANDBOXIE_INI%" query %SANDBOX_NAME% Enabled 2>nul | findstr /i "y" >nul if not errorlevel 1 goto :ReloadSandboxConfig echo Creating Sandboxie box "%SANDBOX_NAME%"... "%SANDBOXIE_INI%" set %SANBOX_NAME% Enabled y if errorlevel 1 exit /b 1 "%SANDBOXIE_INI%" set %SANBOX_NAME% ConfigLevel 7 if errorlevel 1 exit /b 1 "%SANDBOXIE_INI%" append %SANBOX_NAME% OpenFilePath "%F4SE_DIR%\*" if errorlevel 1 exit /b 1 :ReloadSandboxConfig "%SANDBOXIE_START%" /reload >nul exit /b 0