C 盘快满,翻了一下才发现 .codex 目录攒了不少东西:缓存、会话记录、插件、鉴权信息。挪到 D 盘,顺便为以后跨设备同步配置留个口子。
为什么不用 symlink
Codex CLI 的主目录路径由 CODEX_HOME 环境变量控制,读取顺序在启动时定死。改环境变量比建 symlink 更直接:不用管文件系统链接的权限问题,卸载重装时也不会因为符号链接失效导致路径解析出错。
步骤
找到旧目录:
$env:USERPROFILE\.codex把内容整体搬到新位置:
robocopy "$env:USERPROFILE\.codex" "D:\Codex\.codex" /E /COPYALL设置
CODEX_HOME环境变量,User 和 Machine 两级都写,避免某些以系统身份启动的终端或计划任务只读 Machine 级变量而读不到:[System.Environment]::SetEnvironmentVariable("CODEX_HOME", "D:\Codex\.codex", "User") [System.Environment]::SetEnvironmentVariable("CODEX_HOME", "D:\Codex\.codex", "Machine")重开一个终端(环境变量改了对已打开的终端不生效),验证:
$env:CODEX_HOME codex --version确认
auth.json还在新目录下,登录状态没丢,跑一次命令确认会话记录写到了新路径。确认无误后删掉旧目录
C:\Users\<user>\.codex。
结果
全程没踩大坑。唯一容易忘的是第 4 步:改完环境变量得开新终端再验证,不然会误以为没生效,回头折腾半天查错。