| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- @echo off
- setlocal enabledelayedexpansion
- echo [1/3] 正在查找所有opencode会话...
- echo.
- set SESSIONS_FOUND=0
- for /f "usebackq tokens=*" %%A in (`opencode session list 2^>nul ^| findstr /R "[a-f0-9\-]\{32,\}"`) do (
- set "SID=%%A"
- for /f "tokens=* delims= " %%B in ("!SID!") do set SID=%%B
- if not "!SID!"=="" (
- echo 删除会话: !SID!
- opencode session delete !SID! >nul 2>&1
- set /a SESSIONS_FOUND+=1
- )
- )
- if !SESSIONS_FOUND!==0 (
- echo (未发现通过CLI列出的会话)
- ) else (
- echo 共删除 !SESSIONS_FOUND! 个会话(CLI方式)
- )
- echo.
- set DELETED=0
- for %%P in ("%LOCALAPPDATA%\opencode" "%APPDATA%\opencode" "%USERPROFILE%\.opencode") do (
- if exist "%%P\sessions" (
- for /r "%%P\sessions" %%F in (*.json) do (
- del /q /f "%%F" >nul 2>&1 && set /a DELETED+=1
- )
- for /r "%%P\sessions" %%F in (*.jsonl) do (
- del /q /f "%%F" >nul 2>&1 && set /a DELETED+=1
- )
- for /r "%%P\sessions" %%F in (*.sqlite) do (
- del /q /f "%%F" >nul 2>&1 && set /a DELETED+=1
- )
- for /r "%%P\sessions" %%F in (*.db) do (
- del /q /f "%%F" >nul 2>&1 && set /a DELETED+=1
- )
- rmdir /s /q "%%P\sessions" >nul 2>&1
- )
- if exist "%%P\sessionstore" (
- for /r "%%P\sessionstore" %%F in (*.json) do (
- del /q /f "%%F" >nul 2>&1 && set /a DELETED+=1
- )
- for /r "%%P\sessionstore" %%F in (*.jsonl) do (
- del /q /f "%%F" >nul 2>&1 && set /a DELETED+=1
- )
- for /r "%%P\sessionstore" %%F in (*.sqlite) do (
- del /q /f "%%F" >nul 2>&1 && set /a DELETED+=1
- )
- for /r "%%P\sessionstore" %%F in (*.db) do (
- del /q /f "%%F" >nul 2>&1 && set /a DELETED+=1
- )
- )
- )
- echo.
- echo [2/3] 直接删除 !DELETED! 个残留文件
- echo.
- echo [3/3] 清理阻塞进程...
- taskkill /F /FI "IMAGENAME eq opencode.exe" >nul 2>&1
- taskkill /F /FI "IMAGENAME eq node.exe" /FI "WINDOWTITLE eq *opencode*" >nul 2>&1
- for /f "tokens=5 delims=," %%P in ('netstat -ano ^| findstr ":4090"') do (
- taskkill /F /PID %%P >nul 2>&1
- )
- echo 清理完毕
- echo.
- echo ===== 以下文件/目录被安全保留 =====
- echo [技能] %USERPROFILE%\.config\opencode\skills\
- echo [插件] %USERPROFILE%\.config\opencode\plugins\
- echo [MCP] %USERPROFILE%\.config\opencode\mcp\
- echo [配置] %USERPROFILE%\.config\opencode\opencode.json
- echo [OMF链] %APPDATA%\opencode\omf.json
- echo.
- echo 会话清理完成!
- pause
|