【教程】一键切换Claude配置,玩转多款国内AI大模型
本文介绍了一个用于快速切换Claude Cli配置的Windows批处理脚本。该脚本通过预设多个settings-xxx.json配置文件,允许用户便捷地在不同LLM模型配置间切换。主要功能包括:1)自动扫描presets目录下的所有json配置文件;2)提供交互式菜单供用户选择目标配置;3)自动备份当前settings.json文件;4)将选定的配置文件覆盖到目标位置。使用方法简单,只需运行脚本
·
当我们使用 Claude Cli 的时候,有时候会通过修改 ~/.claude/settings.json 的方式来使用国内的LLM模型,但是不方便切换,这里我提供了一个脚本方便大家切换不同配置
思路是:
- 你提前准备多个 settings-xxx.json
- 运行 switch-claude.bat
- 脚本让你选择要切换的模型配置
- 把对应配置覆盖到正式的 settings.json
@echo off
setlocal EnableDelayedExpansion
:: 基础目录
set "BASE_DIR=%~dp0"
set "PRESET_DIR=%BASE_DIR%presets"
set "TARGET_FILE=%BASE_DIR%settings.json"
set "BACKUP_DIR=%BASE_DIR%backup"
if not exist "%PRESET_DIR%" (
echo [ERROR] presets 目录不存在: "%PRESET_DIR%"
pause
exit /b 1
)
if not exist "%BACKUP_DIR%" (
mkdir "%BACKUP_DIR%" >nul 2>nul
)
:menu
cls
echo ==============================
echo Claude Setting 切换工具
echo ==============================
echo.
echo 预设目录: %PRESET_DIR%
echo 目标文件: %TARGET_FILE%
echo.
:: 清空上次菜单缓存
for /L %%i in (1,1,999) do set "file[%%i]="
set /a count=0
:: 动态扫描 presets 下所有 json 文件
for %%f in ("%PRESET_DIR%\*.json") do (
set /a count+=1
set "file[!count!]=%%~ff"
echo !count!. %%~nxf
)
if %count%==0 (
echo [ERROR] presets 目录下没有找到任何 .json 文件
echo.
pause
exit /b 1
)
echo.
echo 0. 退出
echo.
set /p "choice=请输入编号: "
if "%choice%"=="0" exit /b 0
:: 检查是否为数字
for /f "delims=0123456789" %%a in ("%choice%") do (
echo [ERROR] 请输入数字编号
pause
goto menu
)
if not defined file[%choice%] (
echo [ERROR] 无效编号: %choice%
pause
goto menu
)
set "SELECTED_FILE=!file[%choice%]!"
if not exist "!SELECTED_FILE!" (
echo [ERROR] 选中的文件不存在: "!SELECTED_FILE!"
pause
goto menu
)
:: 备份当前 settings.json
if exist "%TARGET_FILE%" (
set "TS=%date:~0,4%%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%"
set "TS=%TS: =0%"
copy /y "%TARGET_FILE%" "%BACKUP_DIR%\setting_backup_%TS%.json" >nul
if errorlevel 1 (
echo [WARN] 备份失败,但继续执行切换
) else (
echo [INFO] 已备份当前 settings.json
)
)
:: 执行覆盖
copy /y "!SELECTED_FILE!" "%TARGET_FILE%" >nul
if errorlevel 1 (
echo [ERROR] 切换失败
pause
exit /b 1
)
echo.
echo [SUCCESS] 已切换到:
echo !SELECTED_FILE!
echo.
pause
exit /b 0
更多推荐



所有评论(0)