2026-04-05 23:34:27 +08:00
|
|
|
@echo off
|
|
|
|
|
chcp 65001 > nul
|
2026-04-25 18:19:07 +08:00
|
|
|
:: v3.0.11 架构重构: 桌面 .lnk 已直调 pwsh + claude.ps1 绝对路径, 不再走本 bat.
|
|
|
|
|
:: 此文件仅保留作为兼容入口 (老用户已经把 .bat 加到收藏夹/开始菜单的场景),
|
|
|
|
|
:: 内部行为简化为转发到桌面 .lnk 触发统一启动路径.
|
|
|
|
|
::
|
|
|
|
|
:: 如果用户双击本 .bat (而非桌面 .lnk), 直接 invoke pwsh + claude.ps1 启动:
|
|
|
|
|
|
|
|
|
|
setlocal
|
|
|
|
|
|
|
|
|
|
:: 1. 定位 pwsh.exe (PS7 必需, 启动器 v3.0.11 强依赖)
|
|
|
|
|
set "PWSH_EXE="
|
|
|
|
|
where pwsh >nul 2>nul && for /f "delims=" %%i in ('where pwsh') do if not defined PWSH_EXE set "PWSH_EXE=%%i"
|
|
|
|
|
if not defined PWSH_EXE if exist "%ProgramFiles%\PowerShell\7\pwsh.exe" set "PWSH_EXE=%ProgramFiles%\PowerShell\7\pwsh.exe"
|
|
|
|
|
if not defined PWSH_EXE if exist "%LOCALAPPDATA%\Microsoft\PowerShell\pwsh.exe" set "PWSH_EXE=%LOCALAPPDATA%\Microsoft\PowerShell\pwsh.exe"
|
|
|
|
|
if not defined PWSH_EXE (
|
|
|
|
|
echo [!] PowerShell 7 未安装. 请先重跑 Bookworm-Setup.exe 装好 PS7.
|
|
|
|
|
pause
|
|
|
|
|
exit /b 1
|
2026-04-12 14:05:22 +08:00
|
|
|
)
|
|
|
|
|
|
2026-04-25 18:19:07 +08:00
|
|
|
:: 2. 定位 claude.ps1 (优先 npm prefix, 兜底常见位置)
|
|
|
|
|
set "CLAUDE_PS1="
|
|
|
|
|
for /f "delims=" %%i in ('npm config get prefix 2^>nul') do set "NPM_PREFIX=%%i"
|
|
|
|
|
if defined NPM_PREFIX if exist "%NPM_PREFIX%\claude.ps1" set "CLAUDE_PS1=%NPM_PREFIX%\claude.ps1"
|
|
|
|
|
if not defined CLAUDE_PS1 if exist "%APPDATA%\npm\claude.ps1" set "CLAUDE_PS1=%APPDATA%\npm\claude.ps1"
|
|
|
|
|
if not defined CLAUDE_PS1 if exist "%ProgramFiles%\nodejs\claude.ps1" set "CLAUDE_PS1=%ProgramFiles%\nodejs\claude.ps1"
|
|
|
|
|
if not defined CLAUDE_PS1 (
|
|
|
|
|
echo [!] claude.ps1 未找到. 请重跑 Bookworm-Setup.exe 修复 Claude Code 安装.
|
|
|
|
|
pause
|
|
|
|
|
exit /b 1
|
2026-04-12 14:05:22 +08:00
|
|
|
)
|
|
|
|
|
|
2026-04-27 18:22:37 +08:00
|
|
|
:: 3. OTA 自动更新检查 (fail-open: 脚本不存在或报错均不阻断启动)
|
|
|
|
|
set "OTA_SCRIPT=%USERPROFILE%\.claude\.bw-ota\bw-ota.ps1"
|
|
|
|
|
if exist "%OTA_SCRIPT%" (
|
|
|
|
|
"%PWSH_EXE%" -NoLogo -ExecutionPolicy Bypass -File "%OTA_SCRIPT%"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
:: 4. 直调 pwsh + claude.ps1 (无 wt / 无 Base64 / 无 DPAPI in-bat)
|
2026-04-25 18:19:07 +08:00
|
|
|
:: 凭证由 pwsh profile.ps1 BW_CRED_START..END 块自动加载
|
|
|
|
|
"%PWSH_EXE%" -NoLogo -NoExit -File "%CLAUDE_PS1%" --dangerously-skip-permissions
|
2026-04-05 23:34:27 +08:00
|
|
|
|
2026-04-25 18:19:07 +08:00
|
|
|
endlocal
|