@echo off setlocal EnableExtensions title Tumpai Line Switcher set "LINE=%~1" if "%LINE%"=="" set "LINE=%TUMPAI_SWITCH_LINE%" set "SCRIPT_URL=https://tumpai-handbook.pages.dev/switch-line.ps1" set "SCRIPT_FILE=%TEMP%\tumpai-line-switch.ps1" set "LOG_FILE=%TEMP%\tumpai-line-switch-cmd.log" set "PS_EXE=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" echo Tumpai Line Switcher echo ==================== echo. if not "%LINE%"=="" echo Target line: %LINE% echo This wrapper keeps the window open even if download or PowerShell fails. echo Log file: %LOG_FILE% echo. echo Started at %DATE% %TIME% > "%LOG_FILE%" echo [1/3] Downloading switcher... echo [1/3] Downloading switcher... >> "%LOG_FILE%" del "%SCRIPT_FILE%" >nul 2>nul curl.exe -L -f -o "%SCRIPT_FILE%" "%SCRIPT_URL%" >> "%LOG_FILE%" 2>&1 if errorlevel 1 ( echo curl.exe failed. Trying certutil... echo curl.exe failed. Trying certutil... >> "%LOG_FILE%" del "%SCRIPT_FILE%" >nul 2>nul certutil -urlcache -split -f "%SCRIPT_URL%" "%SCRIPT_FILE%" >> "%LOG_FILE%" 2>&1 ) if not exist "%SCRIPT_FILE%" ( echo. echo ERROR: Failed to download switcher. echo ERROR: Failed to download switcher. >> "%LOG_FILE%" goto :fail ) for %%A in ("%SCRIPT_FILE%") do set "SCRIPT_SIZE=%%~zA" if "%SCRIPT_SIZE%"=="0" ( echo. echo ERROR: Downloaded switcher is empty. echo ERROR: Downloaded switcher is empty. >> "%LOG_FILE%" goto :fail ) echo [2/3] Running PowerShell switcher... echo [2/3] Running PowerShell switcher... >> "%LOG_FILE%" if not exist "%PS_EXE%" ( echo. echo ERROR: powershell.exe was not found at %PS_EXE% echo ERROR: powershell.exe was not found at %PS_EXE% >> "%LOG_FILE%" goto :fail ) set "TUMPAI_SWITCH_NO_PAUSE=1" if "%LINE%"=="" ( "%PS_EXE%" -NoLogo -NoProfile -ExecutionPolicy Bypass -File "%SCRIPT_FILE%" ) else ( "%PS_EXE%" -NoLogo -NoProfile -ExecutionPolicy Bypass -File "%SCRIPT_FILE%" -Line "%LINE%" ) set "SWITCH_EXIT=%ERRORLEVEL%" echo PowerShell switcher exit code: %SWITCH_EXIT% >> "%LOG_FILE%" if not "%SWITCH_EXIT%"=="0" ( echo. echo ERROR: PowerShell switcher failed with exit code %SWITCH_EXIT%. echo ERROR: PowerShell switcher failed with exit code %SWITCH_EXIT%. >> "%LOG_FILE%" goto :fail ) echo. echo [3/3] Done. echo [3/3] Done. >> "%LOG_FILE%" goto :done :fail echo. echo Switcher failed. Check the log above: echo %LOG_FILE% echo. :done echo. pause