@echo off chcp 65001 > nul cd /d "%~dp0" :: v3.1.1 架构: 更新 .bat 仅做 git pull, 完成后弹 GUI 让用户决定是否立即启动. :: 启动 claude 由独立的 启动Bookworm.lnk → pwsh + bw-launch.ps1 完成 (1 跳直链) echo. echo Bookworm 配置同步 echo ============================================ echo. set HAS_FAIL=0 :: 同步 bookworm-boot 仓库 (本目录) echo [1/2] 同步启动器目录 (bookworm-boot)... git pull --rebase 2>&1 if %errorlevel% neq 0 ( echo [!] bookworm-boot git pull 失败 ^(不影响启动 lnk^) set HAS_FAIL=1 ) :: 同步 ~/.claude 配置仓库 (Skill/hook/agents) echo. echo [2/2] 同步 Claude 配置 (.claude/)... git -C "%USERPROFILE%\.claude" stash -q 2>nul git -C "%USERPROFILE%\.claude" pull --rebase 2>&1 if %errorlevel% neq 0 ( echo [!] .claude git pull 失败 ^(不影响启动 lnk^) set HAS_FAIL=1 ) git -C "%USERPROFILE%\.claude" stash pop -q 2>nul echo. echo ============================================ if %HAS_FAIL% equ 0 ( echo [OK] 所有同步完成 ) else ( echo [!] 部分同步失败 ^(详见上方日志, 启动仍可正常使用^) ) echo ============================================ :: v3.1.1 (闭合 L6): 完成后 GUI 询问是否立即启动 Claude (闭合 "更新完了不知道下一步") :: 用 PowerShell 弹 MessageBox YesNo, Yes → 触发桌面启动 lnk; No → 直接退出 where pwsh >nul 2>nul && set "PSH=pwsh" || set "PSH=powershell" %PSH% -NoProfile -Command "Add-Type -AssemblyName System.Windows.Forms; $r = [System.Windows.Forms.MessageBox]::Show('配置同步完成. 是否立即启动 Bookworm Claude?', 'Bookworm 同步完成', 'YesNo', 'Question'); if ($r -eq 'Yes') { $lnk = Join-Path ([Environment]::GetFolderPath('Desktop')) '启动Bookworm.lnk'; if (Test-Path $lnk) { Start-Process $lnk } else { Write-Host 'lnk 缺失, 请重跑 Bookworm-Setup.exe' -ForegroundColor Yellow; pause } }"