bookworm-boot/更新并启动Bookworm.bat
bookworm 609e82bac0 hotfix(v3.0.10): Base64 '-or' 括号 bug + dry-run 实跑验证护栏
v3.0.9 Base64 脚本启动即报:
  Test-Path: A parameter cannot be found that matches parameter name 'or'.
  claude.exe not found

根因: 'Test-Path (Join-Path $p claude.ps1) -or (Test-Path ...)' 中 -or
被当成 Test-Path 的命名参数. PSParser 静态检查看合法, 运行时炸.

修复:
  F1: 括号修正 — $hasClaude 抽为独立变量, 三元 -or 每项带外括号
  F2: gen-launcher-bats.ps1 强制加 dry-run 实跑验证护栏
      解码后的 Base64 脚本必须被 pwsh -File 实跑到底部 __BW_DRYRUN_OK__
      才算通过. 检查 ErrorRecord / ParameterBindingException / 未知命令.
      任何未来 Base64 改动都被此验证拦截.

验证层级教训:
  PSParser = 抓语法   / 抓不到参数绑定错
  dry-run  = 抓运行时 / 抓不到业务逻辑
  smoke    = 抓业务   / 需要前两层通过

EXE 220160 → 220672 bytes (+512)
2026-04-24 22:48:08 +08:00

33 lines
7.0 KiB
Batchfile

@echo off
chcp 65001 > nul
cd /d "%~dp0"
:: 中转站在国内,不走代理
set NO_PROXY=bww.letcareme.com,code.letcareme.com,letcareme.com,localhost,127.0.0.1
set no_proxy=%NO_PROXY%
:: 静默自动更新 (bookworm-boot + .claude 配置)
echo [..] 同步更新...
git pull --rebase >nul 2>nul
git -C "%USERPROFILE%\.claude" pull --rebase >nul 2>nul
:: v3.0.6: 同启动Bookworm.bat 的 Base64 (DPAPI + PATH 重载 + claude 启动)
set ENC=QQBkAGQALQBUAHkAcABlACAALQBBAHMAcwBlAG0AYgBsAHkATgBhAG0AZQAgAFMAeQBzAHQAZQBtAC4AUwBlAGMAdQByAGkAdAB5AAoAIwAgAEJcIAAxADoAIABNAGEAYwBoAGkAbgBlACAAKwAgAFUAcwBlAHIAIABlAG4AdgAgAFAAQQBUAEgAIAAoAAdoxlEgAFcAaQBuAGQAbwB3AHMAIACvc4NY2FPPkSkACgAkAGUAbgB2ADoAUABhAHQAaAAgAD0AIABbAEUAbgB2AGkAcgBvAG4AbQBlAG4AdABdADoAOgBHAGUAdABFAG4AdgBpAHIAbwBuAG0AZQBuAHQAVgBhAHIAaQBhAGIAbABlACgAJwBQAGEAdABoACcALAAnAE0AYQBjAGgAaQBuAGUAJwApACAAKwAgACcAOwAnACAAKwAgAFsARQBuAHYAaQByAG8AbgBtAGUAbgB0AF0AOgA6AEcAZQB0AEUAbgB2AGkAcgBvAG4AbQBlAG4AdABWAGEAcgBpAGEAYgBsAGUAKAAnAFAAYQB0AGgAJwAsACcAVQBzAGUAcgAnACkACgAjACAAQlwgADIAOgAgAG4AcABtACAAYwBvAG4AZgBpAGcAIABnAGUAdAAgAHAAcgBlAGYAaQB4ACAAKAAfd55bIABuAHAAbQAgAGhRQFzudlVfLAAgAHxRuVsgAG4AdgBtAC8AZgBuAG0ALwAHaMZRiVvFiC8AUAByAG8AZwByAGEAbQAgAEYAaQBsAGUAcwApAAoAdAByAHkAIAB7AAoAIAAgACAAIAAkAG4AcABtAFAAcgBlAGYAaQB4ACAAPQAgACgAJgAgAG4AcABtACAAYwBvAG4AZgBpAGcAIABnAGUAdAAgAHAAcgBlAGYAaQB4ACAAMgA+ACQAbgB1AGwAbAAgAHwAIABTAGUAbABlAGMAdAAtAE8AYgBqAGUAYwB0ACAALQBGAGkAcgBzAHQAIAAxACkALgBUAHIAaQBtACgAKQAKACAAIAAgACAAaQBmACAAKAAkAG4AcABtAFAAcgBlAGYAaQB4ACAALQBhAG4AZAAgACgAVABlAHMAdAAtAFAAYQB0AGgAIAAkAG4AcABtAFAAcgBlAGYAaQB4ACkAIAAtAGEAbgBkACAAKAAkAGUAbgB2ADoAUABhAHQAaAAgAC0AbgBvAHQAbABpAGsAZQAgACIAKgAkAG4AcABtAFAAcgBlAGYAaQB4ACoAIgApACkAIAB7AAoAIAAgACAAIAAgACAAIAAgACQAZQBuAHYAOgBQAGEAdABoACAAPQAgACIAJABuAHAAbQBQAHIAZQBmAGkAeAA7ACQAZQBuAHYAOgBQAGEAdABoACIACgAgACAAIAAgAH0ACgB9ACAAYwBhAHQAYwBoACAAewB9AAoAIwAgAEJcIAAzADoAIAA4XsGJIABuAHAAbQAgAGcAbABvAGIAYQBsACAAbHgWfwF4XFGVXiAAKABuAHAAbQAgACxnq44NTihXIABQAEEAVABIACAA9mXgZdVsIABxAHUAZQByAHkAKQAKACQAbgBwAG0AQwBhAG4AZABpAGQAYQB0AGUAcwAgAD0AIABAACgACgAgACAAIAAgACIAJABlAG4AdgA6AEEAUABQAEQAQQBUAEEAXABuAHAAbQAiACwACgAgACAAIAAgACIAJABlAG4AdgA6AFAAcgBvAGcAcgBhAG0ARgBpAGwAZQBzAFwAbgBvAGQAZQBqAHMAIgAsAAoAIAAgACAAIAAiACQAewBlAG4AdgA6AFAAcgBvAGcAcgBhAG0ARgBpAGwAZQBzACgAeAA4ADYAKQB9AFwAbgBvAGQAZQBqAHMAIgAsAAoAIAAgACAAIAAiACQAZQBuAHYAOgBMAE8AQwBBAEwAQQBQAFAARABBAFQAQQBcAG4AcABtACIACgApAAoAZgBvAHIAZQBhAGMAaAAgACgAJABwACAAaQBuACAAJABuAHAAbQBDAGEAbgBkAGkAZABhAHQAZQBzACkAIAB7AAoAIAAgACAAIABpAGYAIAAoAC0AbgBvAHQAIAAoAFQAZQBzAHQALQBQAGEAdABoACAAJABwACkAKQAgAHsAIABjAG8AbgB0AGkAbgB1AGUAIAB9AAoAIAAgACAAIAAkAGgAYQBzAEMAbABhAHUAZABlACAAPQAgACgAVABlAHMAdAAtAFAAYQB0AGgAIAAoAEoAbwBpAG4ALQBQAGEAdABoACAAJABwACAAJwBjAGwAYQB1AGQAZQAuAHAAcwAxACcAKQApACAALQBvAHIAIAAoAFQAZQBzAHQALQBQAGEAdABoACAAKABKAG8AaQBuAC0AUABhAHQAaAAgACQAcAAgACcAYwBsAGEAdQBkAGUALgBjAG0AZAAnACkAKQAgAC0AbwByACAAKABUAGUAcwB0AC0AUABhAHQAaAAgACgASgBvAGkAbgAtAFAAYQB0AGgAIAAkAHAAIAAnAGMAbABhAHUAZABlACcAKQApAAoAIAAgACAAIABpAGYAIAAoACQAaABhAHMAQwBsAGEAdQBkAGUAIAAtAGEAbgBkACAAKAAkAGUAbgB2ADoAUABhAHQAaAAgAC0AbgBvAHQAbABpAGsAZQAgACIAKgAkAHAAKgAiACkAKQAgAHsACgAgACAAIAAgACAAIAAgACAAJABlAG4AdgA6AFAAYQB0AGgAIAA9ACAAIgAkAHAAOwAkAGUAbgB2ADoAUABhAHQAaAAiAAoAIAAgACAAIAB9AAoAfQAKACMAIABEAFAAQQBQAEkAIACgUn2PE39YW+1RwYsKACQAcgAgAD0AIAAnAEgASwBDAFUAOgBcAFMAbwBmAHQAdwBhAHIAZQBcAEIAbwBvAGsAdwBvAHIAbQBcAEMAYQBjAGgAZQBkAEUAbgB2ACcACgB0AHIAeQAgAHsACgAgACAAKABHAGUAdAAtAEkAdABlAG0AUAByAG8AcABlAHIAdAB5ACAAJAByACAALQBFAEEAIABTAHQAbwBwACkALgBQAFMATwBiAGoAZQBjAHQALgBQAHIAbwBwAGUAcgB0AGkAZQBzACAAfAAgAFcAaABlAHIAZQAtAE8AYgBqAGUAYwB0ACAAewAgACQAXwAuAE4AYQBtAGUAIAAtAG0AYQB0AGMAaAAgACcAXgBbAEEALQBaAF8AXQArACQAJwAgAH0AIAB8ACAARgBvAHIARQBhAGMAaAAtAE8AYgBqAGUAYwB0ACAAewAKACAAIAAgACAAJAB2ACAAPQAgACQAXwAuAFYAYQBsAHUAZQAKACAAIAAgACAAdAByAHkAIAB7AAoAIAAgACAAIAAgACAAJABiACAAPQAgAFsAUwBlAGMAdQByAGkAdAB5AC4AQwByAHkAcAB0AG8AZwByAGEAcABoAHkALgBQAHIAbwB0AGUAYwB0AGUAZABEAGEAdABhAF0AOgA6AFUAbgBwAHIAbwB0AGUAYwB0ACgAWwBDAG8AbgB2AGUAcgB0AF0AOgA6AEYAcgBvAG0AQgBhAHMAZQA2ADQAUwB0AHIAaQBuAGcAKAAkAHYAKQAsACAAJABuAHUAbABsACwAIABbAFMAZQBjAHUAcgBpAHQAeQAuAEMAcgB5AHAAdABvAGcAcgBhAHAAaAB5AC4ARABhAHQAYQBQAHIAbwB0AGUAYwB0AGkAbwBuAFMAYwBvAHAAZQBdADoAOgBDAHUAcgByAGUAbgB0AFUAcwBlAHIAKQAKACAAIAAgACAAIAAgACQAdgAgAD0AIABbAFQAZQB4AHQALgBFAG4AYwBvAGQAaQBuAGcAXQA6ADoAVQBUAEYAOAAuAEcAZQB0AFMAdAByAGkAbgBnACgAJABiACkACgAgACAAIAAgAH0AIABjAGEAdABjAGgAIAB7AH0ACgAgACAAIAAgAFsARQBuAHYAaQByAG8AbgBtAGUAbgB0AF0AOgA6AFMAZQB0AEUAbgB2AGkAcgBvAG4AbQBlAG4AdABWAGEAcgBpAGEAYgBsAGUAKAAkAF8ALgBOAGEAbQBlACwAIAAkAHYALAAgACcAUAByAG8AYwBlAHMAcwAnACkACgAgACAAfQAKAH0AIABjAGEAdABjAGgAIAB7AH0ACgBpAGYAIAAoAC0AbgBvAHQAIAAoAEcAZQB0AC0AQwBvAG0AbQBhAG4AZAAgAGMAbABhAHUAZABlACAALQBFAHIAcgBvAHIAQQBjAHQAaQBvAG4AIABTAGkAbABlAG4AdABsAHkAQwBvAG4AdABpAG4AdQBlACkAKQAgAHsACgAgACAAVwByAGkAdABlAC0ASABvAHMAdAAgACcAJwAKACAAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAJwAgACAAWwAhAF0AIABjAGwAYQB1AGQAZQAgAH1U5E4qZ35iMFIgACgA8l0dXNWLIAAzACAAQlwgAFAAQQBUAEgAIADuTw1ZzU4xWSWNKQAnACAALQBGAG8AcgBlAGcAcgBvAHUAbgBkAEMAbwBsAG8AcgAgAFIAZQBkAAoAIAAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAnACcACgAgACAAVwByAGkAdABlAC0ASABvAHMAdAAgACcAIAAgAMqLrWXhT29gOgAnACAALQBGAG8AcgBlAGcAcgBvAHUAbgBkAEMAbwBsAG8AcgAgAFkAZQBsAGwAbwB3AAoAIAAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiACAAIAAgACAAbgBwAG0AIABwAHIAZQBmAGkAeAA6ACAAJAAoAHQAcgB5ACAAewAgACgAJgAgAG4AcABtACAAYwBvAG4AZgBpAGcAIABnAGUAdAAgAHAAcgBlAGYAaQB4ACAAMgA+ACQAbgB1AGwAbAApACAAfQAgAGMAYQB0AGMAaAAgAHsAIAAnACgAbgBwAG0AIAANTu9TKHUpACcAIAB9ACkAIgAgAC0ARgBvAHIAZQBnAHIAbwB1AG4AZABDAG8AbABvAHIAIABHAHIAYQB5AAoAIAAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAnACAAIAAgACAAUABBAFQASAAgAEdytWsgACgAbgBwAG0ALwBuAG8AZABlAGoAcwAvAHAAdwBzAGgALwBHAGkAdAApADoAJwAgAC0ARgBvAHIAZQBnAHIAbwB1AG4AZABDAG8AbABvAHIAIABHAHIAYQB5AAoAIAAgACgAJABlAG4AdgA6AFAAYQB0AGgAIAAtAHMAcABsAGkAdAAgACcAOwAnACkAIAB8ACAAVwBoAGUAcgBlAC0ATwBiAGoAZQBjAHQAIAB7ACAAJABfACAALQBtAGEAdABjAGgAIAAnAG4AcABtAHwAbgBvAGQAZQBqAHMAfABwAHcAcwBoAHwARwBpAHQAJwAgAH0AIAB8ACAARgBvAHIARQBhAGMAaAAtAE8AYgBqAGUAYwB0ACAAewAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAiACAAIAAgACAAIAAgACQAXwAiACAALQBGAG8AcgBlAGcAcgBvAHUAbgBkAEMAbwBsAG8AcgAgAEQAYQByAGsARwByAGEAeQAgAH0ACgAgACAAVwByAGkAdABlAC0ASABvAHMAdAAgACcAJwAKACAAIABXAHIAaQB0AGUALQBIAG8AcwB0ACAAJwAgACAA7k8NWToAIADNkbBl0I9MiCAAQgBvAG8AawB3AG8AcgBtAC0AUwBlAHQAdQBwAC4AZQB4AGUAIAAoAHYAMwAuADAALgA5ACsAKQAgAHNT71PqgahSZYhoUScAIAAtAEYAbwByAGUAZwByAG8AdQBuAGQAQwBvAGwAbwByACAARwByAGUAZQBuAAoAIAAgAFcAcgBpAHQAZQAtAEgAbwBzAHQAIAAnACcACgAgACAAUgBlAGEAZAAtAEgAbwBzAHQAIAAnAAlj3lZmj3NR7ZUnAAoAIAAgAHIAZQB0AHUAcgBuAAoAfQAKACYAIABjAGwAYQB1AGQAZQAgAC0ALQBkAGEAbgBnAGUAcgBvAHUAcwBsAHkALQBzAGsAaQBwAC0AcABlAHIAbQBpAHMAcwBpAG8AbgBzAA==
:: 检测 pwsh7 可用性
where pwsh >nul 2>nul
if %errorlevel% equ 0 (
:: pwsh7: 先同步配置 (SkipLaunch 不启动 claude), 再用 -EncodedCommand 在新窗口启动
pwsh -NoLogo -ExecutionPolicy Bypass -File "%~dp0install.ps1" -AutoAccept -SkipLaunch
start "Bookworm Smart Assistant" pwsh -NoLogo -NoExit -EncodedCommand %ENC%
exit
)
:: 回退 PowerShell 5.1: 一次调用完成更新+加载凭证+启动 (消除双次调用)
title Bookworm Portable
powershell -ExecutionPolicy Bypass -File "%~dp0install.ps1" -AutoAccept
if %errorlevel% neq 0 (
echo.
echo 启动失败,按任意键退出...
pause > nul
)