@echo off chcp 65001 > nul :: 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 ) :: 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 ) :: 3. 直调 pwsh + claude.ps1 (无 wt / 无 Base64 / 无 DPAPI in-bat) :: 凭证由 pwsh profile.ps1 BW_CRED_START..END 块自动加载 "%PWSH_EXE%" -NoLogo -NoExit -File "%CLAUDE_PS1%" --dangerously-skip-permissions endlocal