Create launch-two-fallout4.bat
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
@echo off
|
||||
setlocal EnableExtensions
|
||||
|
||||
set "F4SE_DIR=D:\SteamLibrary\steamapps\common\Fallout 4 377160"
|
||||
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
|
||||
Reference in New Issue
Block a user