Files
2026-06-29 03:41:14 +00:00

63 lines
1.9 KiB
Batchfile

@echo off
setlocal EnableDelayedExpansion
chcp 65001 >nul
title Sing-box Manager Launcher
color 0A
:: ===================================================
:: 1. 核心配置区 (路径设置)
:: ===================================================
set "TARGET_DIR=配置路径"
set "SCRIPT_NAME=singbox-manager.ps1"
:: ===================================================
:: 2. 自动提权模块 (VBS Method)
:: ===================================================
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
echo [INFO] 正在请求管理员权限...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
:: 切换到指定目录
if exist "%TARGET_DIR%" (
cd /d "%TARGET_DIR%"
) else (
echo [ERROR] 找不到目录: %TARGET_DIR%
pause
exit
)
:: ===================================================
:: 3. 启动逻辑 (带标题参数)
:: ===================================================
if not exist "%SCRIPT_NAME%" (
echo [ERROR] 未找到 %SCRIPT_NAME%
pause
exit
)
echo [INFO] 正在启动 Sing-box Manager...
:: 检测 Windows Terminal
where wt.exe >nul 2>nul
if %errorlevel% equ 0 (
start "" "wt.exe" -w 0 nt -p "Windows PowerShell" -d "%TARGET_DIR%" --title "Sing-box Manager" powershell -NoProfile -ExecutionPolicy Bypass -File "%SCRIPT_NAME%"
exit
) else (
echo [INFO] 未检测到 Windows Terminal,使用经典控制台。
title Sing-box Manager
powershell -NoProfile -ExecutionPolicy Bypass -File "%SCRIPT_NAME%"
exit
)