TableSynthesis/build_windows.bat
2025-07-02 19:43:52 +08:00

138 lines
3.7 KiB
Batchfile

@echo off
chcp 65001 >nul
echo ================================
echo 座位分配系统 Windows 打包脚本
echo ================================
echo.
:: 检查Python是否安装
python --version >nul 2>&1
if %errorlevel% neq 0 (
echo [错误] Python未安装或不在PATH中
echo 请先安装Python 3.7+
pause
exit /b 1
)
echo [信息] 检查Python版本...
python --version
:: 检查pip是否可用
pip --version >nul 2>&1
if %errorlevel% neq 0 (
echo [错误] pip不可用
pause
exit /b 1
)
:: 安装PyInstaller
echo.
echo [步骤1] 安装PyInstaller...
pip install pyinstaller
:: 检查PyInstaller是否安装成功
pyinstaller --version >nul 2>&1
if %errorlevel% neq 0 (
echo [错误] PyInstaller安装失败
pause
exit /b 1
)
:: 创建build目录
echo.
echo [步骤2] 创建构建目录...
if not exist "build" mkdir build
if not exist "dist" mkdir dist
:: 安装依赖包
echo.
echo [步骤3] 安装依赖包...
pip install pandas numpy openpyxl
:: 打包主程序
echo.
echo [步骤4] 开始打包座位分配系统...
pyinstaller --onefile ^
--console ^
--name "座位分配系统" ^
--icon=icon.ico ^
--add-data "README.md;." ^
--distpath "dist" ^
--workpath "build" ^
--specpath "build" ^
--clean ^
seat_allocation_system.py
:: 检查打包是否成功
if exist "dist\座位分配系统.exe" (
echo.
echo [成功] 打包完成!
echo 可执行文件位置: dist\座位分配系统.exe
:: 创建发布目录
echo.
echo [步骤5] 创建发布包...
if not exist "release" mkdir release
:: 复制可执行文件
copy "dist\座位分配系统.exe" "release\"
:: 创建示例文件夹
if not exist "release\示例文件" mkdir "release\示例文件"
:: 复制示例文件(如果存在)
if exist "人员信息_示例.xlsx" copy "人员信息_示例.xlsx" "release\示例文件\"
if exist "座位信息_示例.xlsx" copy "座位信息_示例.xlsx" "release\示例文件\"
:: 创建使用说明
echo.
echo [步骤6] 创建使用说明...
(
echo 座位分配系统 v2.0
echo ==================
echo.
echo 使用方法:
echo 1. 将人员信息和座位信息的Excel文件放在程序同一目录下
echo 2. 双击运行"座位分配系统.exe"
echo 3. 按照提示操作
echo.
echo 文件要求:
echo - 人员信息文件:包含姓名、证件类型、证件号、手机号、备注等列
echo - 座位信息文件:包含区域、楼层、排号、座位号等列
echo.
echo 输出文件:
echo - log/座位信息_最终分配.xlsx (分配结果)
echo - log/最终座位分配日志.xlsx (详细日志)
echo - log/seat_allocation_log.txt (运行日志)
echo.
echo 注意事项:
echo - 程序支持智能文件识别
echo - 支持1-10人连坐需求
echo - 支持备注分组和手机号分组两种模式
echo.
echo 如有问题请查看日志文件
) > "release\使用说明.txt"
echo.
echo ================================
echo 打包完成!
echo ================================
echo.
echo 发布文件位置: release\
echo 主程序: release\座位分配系统.exe
echo 使用说明: release\使用说明.txt
echo 示例文件: release\示例文件\
echo.
echo 您可以将整个release文件夹分发给用户
) else (
echo.
echo [错误] 打包失败!
echo 请检查错误信息并重试
pause
exit /b 1
)
echo.
echo 按任意键继续...
pause >nul