window用户使用codex删除会话以及重启codex脚本

window用户使用codex删除会话以及重启codex脚本

背景

在 Windows 上使用 Codex 时,有时候需要清理本地会话记录,并重新启动 Codex。下面这个脚本的作用就是:

  1. 结束正在运行的 Codex 进程;
  2. 等待 Codex 进程完全退出;
  3. 删除本机 .codex\sessions 目录下的会话记录;
  4. 重新启动 Codex 应用。

注意:这个脚本会删除 Codex 的本地会话记录。运行前请确认你确实不需要这些历史会话。

使用方式

新建一个文本文件,例如:

restart_codex_clear_sessions.txt

把下面脚本复制进去后保存。确认内容无误后,将后缀名从 .txt 改成 .bat,例如:

restart_codex_clear_sessions.bat

然后双击运行即可。

脚本内容

@echo off
setlocal

set "TARGET=%USERPROFILE%\.codex\sessions"
set "CODEX_APP=shell:AppsFolder\OpenAI.Codex_2p2nqsd0c76g0!App"

for /f "usebackq tokens=1" %%P in (`powershell -NoProfile -ExecutionPolicy Bypass -Command "Get-Process -Name Codex -ErrorAction SilentlyContinue | Where-Object { $_.ProcessName -ceq 'Codex' } | ForEach-Object { $_.Id }"`) do (
    taskkill /pid %%P /t /f >nul 2>nul
)

for /l %%I in (1,1,20) do (
    powershell -NoProfile -ExecutionPolicy Bypass -Command "if (Get-Process -Name Codex -ErrorAction SilentlyContinue | Where-Object { $_.ProcessName -ceq 'Codex' }) { exit 1 } else { exit 0 }" >nul 2>nul
    if not errorlevel 1 goto cleanup
    timeout /t 1 /nobreak >nul
)

:cleanup
if exist "%TARGET%" (
    attrib -r -s -h "%TARGET%\*" /s /d >nul 2>nul
    for /d %%D in ("%TARGET%\*") do rd /s /q "%%D"
    del /f /s /q "%TARGET%\*" >nul 2>nul
)

start "" "%CODEX_APP%"
exit /b 0

脚本说明

1. 目标目录

set "TARGET=%USERPROFILE%\.codex\sessions"

这里指定了要清理的 Codex 会话目录。%USERPROFILE% 会自动指向当前 Windows 用户目录,例如:

C:\Users\你的用户名

所以最终清理的目录是:

C:\Users\你的用户名\.codex\sessions

2. Codex 应用启动地址

set "CODEX_APP=shell:AppsFolder\OpenAI.Codex_2p2nqsd0c76g0!App"

这里配置的是 Windows 应用商店版本 Codex 的启动入口。脚本最后会用它重新打开 Codex。

3. 结束 Codex 进程

脚本会通过 PowerShell 查找名为 Codex 的进程,然后用 taskkill 强制结束它。

taskkill /pid %%P /t /f >nul 2>nul

其中:

  • /pid:指定进程 ID;
  • /t:同时结束子进程;
  • /f:强制结束;
  • >nul 2>nul:隐藏正常输出和错误输出。

4. 等待 Codex 完全退出

for /l %%I in (1,1,20) do (
    ...
)

这里最多等待 20 秒,每秒检查一次 Codex 是否还在运行。如果 Codex 已经退出,就跳到 :cleanup 开始清理会话。

5. 删除会话记录

if exist "%TARGET%" (
    attrib -r -s -h "%TARGET%\*" /s /d >nul 2>nul
    for /d %%D in ("%TARGET%\*") do rd /s /q "%%D"
    del /f /s /q "%TARGET%\*" >nul 2>nul
)

这一段会先取消文件的只读、系统、隐藏属性,然后删除会话目录下的子目录和文件。

注意:这里删除的是 .codex\sessions 下的内容,不是整个 .codex 目录。

6. 重新启动 Codex

start "" "%CODEX_APP%"

清理完成后,脚本会重新打开 Codex。

小结

这个脚本适合用于 Windows 用户快速清理 Codex 本地会话记录并重启 Codex。整个流程可以概括为:

关闭 Codex → 等待退出 → 清空 sessions → 重新打开 Codex

如果只是想重启 Codex,不想删除会话记录,就不要运行这个脚本,或者把删除 %USERPROFILE%\.codex\sessions 的部分注释掉。

posted @ 2026-05-23 16:22  jialiangzai  阅读(2560)  评论(0)    收藏  举报