105 lines
2.5 KiB
Batchfile
105 lines
2.5 KiB
Batchfile
|
|
@echo off
|
|||
|
|
chcp 65001 >nul
|
|||
|
|
echo ========================================
|
|||
|
|
echo 清理并重新打包
|
|||
|
|
echo ========================================
|
|||
|
|
echo.
|
|||
|
|
|
|||
|
|
echo [1/5] 结束所有相关进程...
|
|||
|
|
echo 正在停止 NPQS9100...
|
|||
|
|
taskkill /F /IM NPQS9100.exe 2>nul
|
|||
|
|
|
|||
|
|
echo 正在停止 MySQL...
|
|||
|
|
taskkill /F /IM mysqld.exe 2>nul
|
|||
|
|
timeout /t 2 /nobreak >nul
|
|||
|
|
|
|||
|
|
REM 验证 MySQL 是否真的停止了
|
|||
|
|
tasklist | find /I "mysqld.exe" >nul 2>&1
|
|||
|
|
if %errorlevel% equ 0 (
|
|||
|
|
echo ! MySQL 进程还在运行,再次尝试...
|
|||
|
|
taskkill /F /IM mysqld.exe 2>nul
|
|||
|
|
timeout /t 2 /nobreak >nul
|
|||
|
|
|
|||
|
|
REM 再次验证
|
|||
|
|
tasklist | find /I "mysqld.exe" >nul 2>&1
|
|||
|
|
if %errorlevel% equ 0 (
|
|||
|
|
echo ! MySQL 进程仍在运行,使用强制方法...
|
|||
|
|
REM 找出所有 mysqld.exe 的 PID 并逐个杀死
|
|||
|
|
for /f "tokens=2" %%a in ('tasklist ^| find /I "mysqld.exe"') do (
|
|||
|
|
echo 强制结束 PID: %%a
|
|||
|
|
taskkill /F /PID %%a 2>nul
|
|||
|
|
)
|
|||
|
|
timeout /t 2 /nobreak >nul
|
|||
|
|
)
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
REM 最终验证
|
|||
|
|
tasklist | find /I "mysqld.exe" >nul 2>&1
|
|||
|
|
if %errorlevel% equ 0 (
|
|||
|
|
echo ✗ 警告:MySQL 进程可能仍在运行
|
|||
|
|
echo 请手动运行 build\extraResources\mysql\kill-running-port.bat
|
|||
|
|
pause
|
|||
|
|
) else (
|
|||
|
|
echo ✓ MySQL 已完全停止
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
echo 正在停止 Java...
|
|||
|
|
taskkill /F /IM java.exe 2>nul
|
|||
|
|
taskkill /F /IM javaw.exe 2>nul
|
|||
|
|
echo ✓ 所有进程已结束
|
|||
|
|
timeout /t 2 /nobreak >nul
|
|||
|
|
echo.
|
|||
|
|
|
|||
|
|
echo [2/5] 删除 out 目录...
|
|||
|
|
cd /d "%~dp0.."
|
|||
|
|
if exist out (
|
|||
|
|
rmdir /s /q out 2>nul
|
|||
|
|
if exist out (
|
|||
|
|
echo ✗ 删除失败,请手动删除 out 目录
|
|||
|
|
pause
|
|||
|
|
exit /b 1
|
|||
|
|
) else (
|
|||
|
|
echo ✓ out 目录已删除
|
|||
|
|
)
|
|||
|
|
) else (
|
|||
|
|
echo ✓ out 目录不存在
|
|||
|
|
)
|
|||
|
|
echo.
|
|||
|
|
|
|||
|
|
echo [3/5] 构建前端代码...
|
|||
|
|
call npm run build-frontend
|
|||
|
|
if %errorlevel% neq 0 (
|
|||
|
|
echo ✗ 前端构建失败
|
|||
|
|
pause
|
|||
|
|
exit /b 1
|
|||
|
|
)
|
|||
|
|
echo ✓ 前端代码构建完成
|
|||
|
|
echo.
|
|||
|
|
|
|||
|
|
echo [4/5] 构建 electron 代码...
|
|||
|
|
call npm run build-electron
|
|||
|
|
if %errorlevel% neq 0 (
|
|||
|
|
echo ✗ electron 构建失败
|
|||
|
|
pause
|
|||
|
|
exit /b 1
|
|||
|
|
)
|
|||
|
|
echo ✓ electron 代码构建完成
|
|||
|
|
echo.
|
|||
|
|
|
|||
|
|
echo [5/5] 打包 Windows 版本(包含代码加密)...
|
|||
|
|
call npm run build-w
|
|||
|
|
if %errorlevel% neq 0 (
|
|||
|
|
echo ✗ 打包失败
|
|||
|
|
pause
|
|||
|
|
exit /b 1
|
|||
|
|
)
|
|||
|
|
echo.
|
|||
|
|
|
|||
|
|
echo ========================================
|
|||
|
|
echo ✓ 打包完成!
|
|||
|
|
echo 输出目录: out\win-unpacked\
|
|||
|
|
echo ========================================
|
|||
|
|
echo.
|
|||
|
|
pause
|
|||
|
|
|