@echo off rem 使用更可靠的方式设置UTF-8编码 chcp 65001 > nul setlocal enabledelayedexpansion title Cursor Pro Register 打包工具 cls echo ================================================ echo Cursor Pro Register 打包工具 echo ================================================ echo. rem 检测Python是否已安装 python --version > nul 2>&1 if %errorlevel% neq 0 ( echo [错误] 未检测到Python安装,请先安装Python 3.8或更高版本 echo 您可以从 https://www.python.org/downloads/ 下载安装 pause exit /b 1 ) echo [信息] 检测到Python已安装 echo. rem 获取当前日期和时间 for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a" set "YEAR=%dt:~0,4%" set "MONTH=%dt:~4,2%" set "DAY=%dt:~6,2%" set "TODAY=%YEAR%%MONTH%%DAY%" rem 默认设置 set "DEFAULT_VERSION=0.1" set "DEFAULT_NAME=cursor注册机" set "APP_VERSION=%DEFAULT_VERSION%" set "APP_NAME=%DEFAULT_NAME%" set "KEEP_PREVIOUS=1" :Menu cls echo ================================================ echo Cursor Pro Register 打包工具 echo ================================================ echo. echo [信息] 检测到Python已安装 echo. rem 显示菜单 echo 请选择打包操作: echo [1] 快速打包(使用默认设置) echo [2] 自定义打包设置 echo [3] 高级打包模式(使用spec文件) echo [4] 退出 echo. set /p USER_CHOICE="请选择 [1-4]: " rem 处理选择 if "%USER_CHOICE%"=="1" ( echo. echo [信息] 正在使用默认设置进行打包 goto StartPackaging ) else if "%USER_CHOICE%"=="2" ( echo. echo [信息] 请输入自定义设置 set /p APP_NAME="应用名称 [默认: %DEFAULT_NAME%]: " if "!APP_NAME!"=="" set "APP_NAME=%DEFAULT_NAME%" set /p APP_VERSION="版本号 [默认: %DEFAULT_VERSION%]: " if "!APP_VERSION!"=="" set "APP_VERSION=%DEFAULT_VERSION%" echo. echo 是否保留之前的打包版本? set /p KEEP_CHOICE="是否保留 [Y=是, N=否, 默认=Y]: " if /i "!KEEP_CHOICE!"=="N" ( set "KEEP_PREVIOUS=0" ) else ( set "KEEP_PREVIOUS=1" ) goto StartPackaging ) else if "%USER_CHOICE%"=="3" ( echo. echo [信息] 正在启动高级打包模式 set /p APP_NAME="应用名称 [默认: %DEFAULT_NAME%]: " if "!APP_NAME!"=="" set "APP_NAME=%DEFAULT_NAME%" set /p APP_VERSION="版本号 [默认: %DEFAULT_VERSION%]: " if "!APP_VERSION!"=="" set "APP_VERSION=%DEFAULT_VERSION%" echo. echo 是否保留之前的打包版本? set /p KEEP_CHOICE="是否保留 [Y=是, N=否, 默认=Y]: " if /i "!KEEP_CHOICE!"=="N" ( set "KEEP_PREVIOUS=0" ) else ( set "KEEP_PREVIOUS=1" ) echo. echo [信息] 正在使用高级打包模式... rem 检查Python脚本是否存在 if not exist package_spec.py ( echo [错误] 找不到package_spec.py文件,无法进行高级打包 echo 按任意键返回主菜单... pause > nul goto Menu ) python package_spec.py "!APP_NAME!v!APP_VERSION!" !KEEP_PREVIOUS! if %errorlevel% neq 0 ( echo [错误] Python脚本执行失败,请检查上面的错误信息 ) goto End ) else if "%USER_CHOICE%"=="4" ( echo. echo [信息] 已取消打包操作 goto End ) else ( echo. echo [错误] 无效的选择,请重新输入... timeout /t 2 > nul goto Menu ) :StartPackaging rem 构建最终的应用名称 set "FINAL_NAME=!APP_NAME!v!APP_VERSION!" echo. echo [信息] 使用以下设置进行打包: echo 应用名称: !FINAL_NAME! echo 保留旧版本: !KEEP_PREVIOUS! echo. rem 检查Python脚本是否存在 if not exist package.py ( echo [错误] 找不到package.py文件,无法进行打包 echo 按任意键返回主菜单... pause > nul goto Menu ) rem 开始打包 echo [信息] 开始打包过程... rem 直接调用Python执行打包,避免混合输出到控制台的方式 python package.py "!FINAL_NAME!" !KEEP_PREVIOUS! if %errorlevel% neq 0 ( echo [错误] Python脚本执行失败,请检查上面的错误信息 ) :End echo. echo ================================================ echo 打包过程已结束 echo ================================================ echo. echo 是否返回主菜单? [Y=是, N=退出] set /p MENU_CHOICE="选择 [Y/N]: " if /i "!MENU_CHOICE!"=="Y" goto Menu echo 感谢使用Cursor Pro Register打包工具,再见! timeout /t 3 > nul endlocal