@echo off chcp 65001 >nul echo ================================================ echo VWED任务系统集成版打包工具 echo ================================================ echo. echo 功能: 配置界面 + 服务启动 合二为一 echo. cd /d "%~dp0\.." echo 检查Python环境... python --version if %errorlevel% neq 0 ( echo 错误: 未找到Python环境,请确保Python已安装并添加到PATH pause exit /b 1 ) echo. echo 清理旧的构建文件... if exist "..\dist" rmdir /s /q "..\dist" if exist "..\build" rmdir /s /q "..\build" echo. echo 构建集成版本... pyinstaller --clean vwed_integrated.spec if %errorlevel% neq 0 ( echo 集成版本构建失败! pause exit /b 1 ) echo. echo 创建发布包... if not exist "dist\VWED_Task_Release" mkdir "dist\VWED_Task_Release" if exist "dist\VWED_Task_System.exe" ( copy "dist\VWED_Task_System.exe" "dist\VWED_Task_Release\" echo ✓ 主程序复制完成 ) else ( echo ✗ 未找到主程序文件 echo 查找文件位置... dir dist\*.exe pause exit /b 1 ) if exist "dist\VWED_Task_System_Debug.exe" ( copy "dist\VWED_Task_System_Debug.exe" "dist\VWED_Task_Release\" echo ✓ 调试版本复制完成 ) else ( echo ! 未找到调试版本文件(这是正常的,如果构建时只生成了一个版本) ) echo. echo 创建启动脚本... echo @echo off > "dist\VWED_Task_Release\启动VWED任务系统.bat" echo chcp 65001 ^>nul >> "dist\VWED_Task_Release\启动VWED任务系统.bat" echo echo 正在启动VWED任务系统... >> "dist\VWED_Task_Release\启动VWED任务系统.bat" echo echo 首次启动将显示配置界面,配置完成后自动启动服务 >> "dist\VWED_Task_Release\启动VWED任务系统.bat" echo echo. >> "dist\VWED_Task_Release\启动VWED任务系统.bat" echo cd /d "%%~dp0" >> "dist\VWED_Task_Release\启动VWED任务系统.bat" echo if exist VWED_Task_System_Debug.exe ( >> "dist\VWED_Task_Release\启动VWED任务系统.bat" echo echo 使用调试版本启动以便查看详细信息... >> "dist\VWED_Task_Release\启动VWED任务系统.bat" echo VWED_Task_System_Debug.exe >> "dist\VWED_Task_Release\启动VWED任务系统.bat" echo ^) else ( >> "dist\VWED_Task_Release\启动VWED任务系统.bat" echo VWED_Task_System.exe >> "dist\VWED_Task_Release\启动VWED任务系统.bat" echo ^) >> "dist\VWED_Task_Release\启动VWED任务系统.bat" echo pause >> "dist\VWED_Task_Release\启动VWED任务系统.bat" echo 创建后台启动脚本... echo @echo off > "dist\VWED_Task_Release\后台启动服务.bat" echo chcp 65001 ^>nul >> "dist\VWED_Task_Release\后台启动服务.bat" echo echo 正在后台启动VWED任务系统服务... >> "dist\VWED_Task_Release\后台启动服务.bat" echo echo 服务将在后台运行,不显示窗口 >> "dist\VWED_Task_Release\后台启动服务.bat" echo cd /d "%%~dp0" >> "dist\VWED_Task_Release\后台启动服务.bat" echo if exist vwed_service.pid ( >> "dist\VWED_Task_Release\后台启动服务.bat" echo echo 检测到服务可能已在运行,请先停止服务 >> "dist\VWED_Task_Release\后台启动服务.bat" echo echo 如果服务未运行,请手动删除 vwed_service.pid 文件 >> "dist\VWED_Task_Release\后台启动服务.bat" echo pause >> "dist\VWED_Task_Release\后台启动服务.bat" echo exit /b 1 >> "dist\VWED_Task_Release\后台启动服务.bat" echo ^) >> "dist\VWED_Task_Release\后台启动服务.bat" echo start /min VWED_Task_System.exe --headless >> "dist\VWED_Task_Release\后台启动服务.bat" echo echo 服务已在后台启动 >> "dist\VWED_Task_Release\后台启动服务.bat" echo echo 日志文件: vwed_service.log >> "dist\VWED_Task_Release\后台启动服务.bat" echo echo 使用"停止服务.bat"可停止后台服务 >> "dist\VWED_Task_Release\后台启动服务.bat" echo pause >> "dist\VWED_Task_Release\后台启动服务.bat" echo 创建服务状态检查脚本... echo @echo off > "dist\VWED_Task_Release\检查服务状态.bat" echo chcp 65001 ^>nul >> "dist\VWED_Task_Release\检查服务状态.bat" echo echo 检查VWED任务系统服务状态... >> "dist\VWED_Task_Release\检查服务状态.bat" echo cd /d "%%~dp0" >> "dist\VWED_Task_Release\检查服务状态.bat" echo if exist vwed_service.pid ( >> "dist\VWED_Task_Release\检查服务状态.bat" echo set /p pid=^> "dist\VWED_Task_Release\检查服务状态.bat" echo tasklist /fi "PID eq %%pid%%" 2^>nul ^| find "%%pid%%" ^>nul >> "dist\VWED_Task_Release\检查服务状态.bat" echo if !errorlevel!==0 ( >> "dist\VWED_Task_Release\检查服务状态.bat" echo echo 服务正在运行 ^(PID: %%pid%%^) >> "dist\VWED_Task_Release\检查服务状态.bat" echo echo 服务地址: http://localhost:8000 >> "dist\VWED_Task_Release\检查服务状态.bat" echo ^) else ( >> "dist\VWED_Task_Release\检查服务状态.bat" echo echo 服务进程不存在,清理PID文件... >> "dist\VWED_Task_Release\检查服务状态.bat" echo del vwed_service.pid >> "dist\VWED_Task_Release\检查服务状态.bat" echo echo 服务未运行 >> "dist\VWED_Task_Release\检查服务状态.bat" echo ^) >> "dist\VWED_Task_Release\检查服务状态.bat" echo ^) else ( >> "dist\VWED_Task_Release\检查服务状态.bat" echo echo 服务未运行 >> "dist\VWED_Task_Release\检查服务状态.bat" echo ^) >> "dist\VWED_Task_Release\检查服务状态.bat" echo if exist vwed_service.log ( >> "dist\VWED_Task_Release\检查服务状态.bat" echo echo. >> "dist\VWED_Task_Release\检查服务状态.bat" echo echo 最近的日志内容: >> "dist\VWED_Task_Release\检查服务状态.bat" echo powershell "Get-Content vwed_service.log -Tail 10" >> "dist\VWED_Task_Release\检查服务状态.bat" echo ^) >> "dist\VWED_Task_Release\检查服务状态.bat" echo pause >> "dist\VWED_Task_Release\检查服务状态.bat" echo @echo off > "dist\VWED_Task_Release\停止服务.bat" echo chcp 65001 ^>nul >> "dist\VWED_Task_Release\停止服务.bat" echo echo 正在停止VWED任务系统服务... >> "dist\VWED_Task_Release\停止服务.bat" echo cd /d "%%~dp0" >> "dist\VWED_Task_Release\停止服务.bat" echo if exist vwed_service.pid ( >> "dist\VWED_Task_Release\停止服务.bat" echo set /p pid=^> "dist\VWED_Task_Release\停止服务.bat" echo taskkill /pid %%pid%% /f 2^>nul >> "dist\VWED_Task_Release\停止服务.bat" echo if !errorlevel!==0 ( >> "dist\VWED_Task_Release\停止服务.bat" echo echo 服务已停止 ^(PID: %%pid%%^) >> "dist\VWED_Task_Release\停止服务.bat" echo ^) else ( >> "dist\VWED_Task_Release\停止服务.bat" echo echo 未找到进程,尝试按进程名停止... >> "dist\VWED_Task_Release\停止服务.bat" echo taskkill /f /im VWED_Task_System.exe 2^>nul >> "dist\VWED_Task_Release\停止服务.bat" echo ^) >> "dist\VWED_Task_Release\停止服务.bat" echo del vwed_service.pid 2^>nul >> "dist\VWED_Task_Release\停止服务.bat" echo ^) else ( >> "dist\VWED_Task_Release\停止服务.bat" echo echo 未找到PID文件,尝试按进程名停止... >> "dist\VWED_Task_Release\停止服务.bat" echo taskkill /f /im VWED_Task_System.exe 2^>nul >> "dist\VWED_Task_Release\停止服务.bat" echo if %%errorlevel%%==0 ( >> "dist\VWED_Task_Release\停止服务.bat" echo echo 服务已停止 >> "dist\VWED_Task_Release\停止服务.bat" echo ^) else ( >> "dist\VWED_Task_Release\停止服务.bat" echo echo 没有找到运行中的服务进程 >> "dist\VWED_Task_Release\停止服务.bat" echo ^) >> "dist\VWED_Task_Release\停止服务.bat" echo ^) >> "dist\VWED_Task_Release\停止服务.bat" echo pause >> "dist\VWED_Task_Release\停止服务.bat" echo. echo 创建使用说明... echo VWED任务系统集成版使用说明 > "dist\VWED_Task_Release\使用说明.txt" echo ========================== >> "dist\VWED_Task_Release\使用说明.txt" echo. >> "dist\VWED_Task_Release\使用说明.txt" echo 本版本将配置界面和服务启动合并为单个可执行文件,支持前台和后台运行。 >> "dist\VWED_Task_Release\使用说明.txt" echo. >> "dist\VWED_Task_Release\使用说明.txt" echo 前台运行(带界面): >> "dist\VWED_Task_Release\使用说明.txt" echo 1. 双击 "启动VWED任务系统.bat" >> "dist\VWED_Task_Release\使用说明.txt" echo 2. 首次启动会显示配置界面 >> "dist\VWED_Task_Release\使用说明.txt" echo 3. 配置数据库连接和API地址 >> "dist\VWED_Task_Release\使用说明.txt" echo 4. 点击"测试数据库连接"确保连接正常 >> "dist\VWED_Task_Release\使用说明.txt" echo 5. 点击"完成配置并启动服务" >> "dist\VWED_Task_Release\使用说明.txt" echo 6. 配置界面自动关闭,服务在当前窗口启动 >> "dist\VWED_Task_Release\使用说明.txt" echo 7. 在浏览器中访问 http://localhost:8000 >> "dist\VWED_Task_Release\使用说明.txt" echo. >> "dist\VWED_Task_Release\使用说明.txt" echo 后台运行(无界面): >> "dist\VWED_Task_Release\使用说明.txt" echo 1. 双击 "后台启动服务.bat" >> "dist\VWED_Task_Release\使用说明.txt" echo 2. 服务将在后台运行,不显示任何窗口 >> "dist\VWED_Task_Release\使用说明.txt" echo 3. 使用 "检查服务状态.bat" 查看运行状态 >> "dist\VWED_Task_Release\使用说明.txt" echo 4. 使用 "停止服务.bat" 停止后台服务 >> "dist\VWED_Task_Release\使用说明.txt" echo 5. 服务日志保存在 vwed_service.log 文件中 >> "dist\VWED_Task_Release\使用说明.txt" echo. >> "dist\VWED_Task_Release\使用说明.txt" echo 注意事项: >> "dist\VWED_Task_Release\使用说明.txt" echo - 配置保存在同目录下的 config.ini 文件中 >> "dist\VWED_Task_Release\使用说明.txt" echo - 再次启动时会自动加载已保存的配置 >> "dist\VWED_Task_Release\使用说明.txt" echo - 如需修改配置,删除 config.ini 后重新启动 >> "dist\VWED_Task_Release\使用说明.txt" echo - 后台运行模式下,请通过日志文件查看运行状态 >> "dist\VWED_Task_Release\使用说明.txt" echo - PID文件 vwed_service.pid 用于跟踪后台进程 >> "dist\VWED_Task_Release\使用说明.txt" echo. >> "dist\VWED_Task_Release\使用说明.txt" echo 调试版本: >> "dist\VWED_Task_Release\使用说明.txt" echo - VWED_Task_System_Debug.exe 为调试版本,保留控制台窗口 >> "dist\VWED_Task_Release\使用说明.txt" echo - 遇到问题时可使用调试版本查看详细信息 >> "dist\VWED_Task_Release\使用说明.txt" echo. echo ================================================ echo 集成版本构建完成! echo ================================================ echo. echo 发布包位置: dist\VWED_Task_Release\ echo. echo 文件清单: echo ✓ VWED_Task_System.exe - 主程序(无窗口,支持后台运行) echo ✓ VWED_Task_System_Debug.exe - 调试版本(带控制台窗口) echo ✓ 启动VWED任务系统.bat - 前台启动脚本 echo ✓ 后台启动服务.bat - 后台启动脚本 echo ✓ 检查服务状态.bat - 服务状态检查 echo ✓ 停止服务.bat - 停止服务脚本 echo ✓ 使用说明.txt - 详细使用说明 echo. echo 新特性: echo ✓ 支持前台和后台运行模式 echo ✓ 后台运行时无窗口,适合服务器部署 echo ✓ 日志记录到文件 vwed_service.log echo ✓ PID文件管理,支持精确停止进程 echo ✓ 服务状态检查功能 echo ✓ 调试版本用于问题排查 echo. pause