@echo off
chcp 65001 >nul
title Cursor Device ID Reset Tool - DevNotes
color 0A
echo ========================================================
echo   Cursor 机器码 / 设备标识一键重置工具 (DevNotes)
echo   适用于: Too many free trial accounts 提示重置
echo   注意: 请先彻底退出 Cursor 编辑器再运行本脚本
echo ========================================================
echo.
pause

set "STORAGE_PATH=%APPDATA%\Cursor\User\globalStorage\storage.json"

if not exist "%STORAGE_PATH%" (
    echo [错误] 未找到 Cursor 配置文件:
    echo %STORAGE_PATH%
    echo 请确认是否已安装 Cursor 并至少启动过一次。
    pause
    exit /b 1
)

echo [*] 正在备份原配置文件...
copy "%STORAGE_PATH%" "%STORAGE_PATH%.bak" >nul
if %errorlevel% equ 0 (
    echo [√] 备份成功: %STORAGE_PATH%.bak
) else (
    echo [!] 备份警告，继续执行...
)

echo [*] 正在生成全新随机硬件与会话标识 (UUID v4)...
powershell -Command "$path = [System.Environment]::ExpandEnvironmentVariables('%APPDATA%\Cursor\User\globalStorage\storage.json'); if (Test-Path $path) { $json = Get-Content $path -Raw | ConvertFrom-Json; $json.'telemetry.machineId' = [guid]::NewGuid().ToString().Replace('-',''); $json.'telemetry.macMachineId' = [guid]::NewGuid().ToString().Replace('-',''); $json.'telemetry.devDeviceId' = [guid]::NewGuid().ToString(); $json.'telemetry.sqmId' = '{' + [guid]::NewGuid().ToString().ToUpper() + '}'; $json | ConvertTo-Json -Depth 10 | Set-Content $path -Encoding UTF8; Write-Host '[√] 机器码标识已成功重置为全新随机凭据！' -ForegroundColor Green } else { Write-Host '[x] 路径不存在' -ForegroundColor Red }"

echo.
echo ========================================================
echo   [完成] Cursor 设备标识已重置完成！
echo   现在您可以重新启动 Cursor 并登录新账户。
echo   更多技术教程请访问: https://blog.bt116.com
echo   交流反馈 QQ 群: 545064986
echo ========================================================
echo.
pause