@echo off setlocal chcp 65001 > nul 2>&1 title Bookworm Smart Assistant - 全自动安装 v3.0 :: 极简入口: 只负责确保 Node.js 存在, 核心逻辑全在 setup-all.js 中 :: 规则: 不超过 30 行, 不用 if(), 不嵌 PowerShell, 用 %~s 短路径 net session >nul 2>&1 if %errorlevel% equ 0 goto :HAS_ADMIN echo Set s = CreateObject("Shell.Application") > "%TEMP%\bw_uac.vbs" echo s.ShellExecute "cmd.exe", "/k cd /d ""%~sdp0"" ^& ""%~snx0""", "", "runas", 1 >> "%TEMP%\bw_uac.vbs" cscript //nologo "%TEMP%\bw_uac.vbs" del /f /q "%TEMP%\bw_uac.vbs" 2>nul exit /b :HAS_ADMIN where node >nul 2>nul if %errorlevel% equ 0 goto :HAS_NODE echo [..] Node.js 未安装, 正在通过 winget 安装... winget install OpenJS.NodeJS.LTS --accept-source-agreements --accept-package-agreements --silent 2>nul for /f "tokens=2*" %%a in ('reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path 2^>nul') do set "PATH=%%b" set "PATH=%PATH%;C:\Program Files\nodejs" where node >nul 2>nul if %errorlevel% equ 0 goto :HAS_NODE echo [!!] Node.js 安装失败。请手动下载: https://nodejs.org/ goto :END :HAS_NODE echo [OK] Node.js 就绪, 启动安装引擎... node "%~dp0setup-all.js" %* || echo [!] 安装过程出错, 请查看上方日志 :END echo. echo 按任意键关闭... pause > nul endlocal