绿色包保存
This commit is contained in:
143
build/rollback.bat
Normal file
143
build/rollback.bat
Normal file
@@ -0,0 +1,143 @@
|
||||
@echo off
|
||||
chcp 65001 >nul
|
||||
echo ========================================
|
||||
echo NPQS9100 回滚工具
|
||||
echo ========================================
|
||||
echo.
|
||||
echo 【重要提示】
|
||||
echo 本工具用于回滚上次升级的内容
|
||||
echo 回滚后将恢复到升级前的状态
|
||||
echo.
|
||||
pause
|
||||
echo.
|
||||
|
||||
echo [1/5] 停止 NPQS9100 进程...
|
||||
taskkill /F /IM NPQS9100.exe 2>nul
|
||||
if %errorlevel% equ 0 (
|
||||
echo NPQS9100 已停止
|
||||
timeout /t 2 /nobreak >nul
|
||||
) else (
|
||||
echo NPQS9100 未运行
|
||||
)
|
||||
echo.
|
||||
|
||||
echo [2/5] 检查备份文件...
|
||||
set hasBackup=0
|
||||
|
||||
if exist backup\app.asar (
|
||||
echo 发现前端备份(app.asar)
|
||||
set hasBackup=1
|
||||
)
|
||||
|
||||
if exist backup\app.asar.unpacked (
|
||||
echo 发现前端备份(app.asar.unpacked)
|
||||
set hasBackup=1
|
||||
)
|
||||
|
||||
if exist backup\entrance.jar (
|
||||
echo 发现后端备份
|
||||
set hasBackup=1
|
||||
)
|
||||
|
||||
if exist mysql\data_backup (
|
||||
echo 发现数据库备份
|
||||
set hasBackup=1
|
||||
)
|
||||
|
||||
if %hasBackup%==0 (
|
||||
echo 未发现任何备份文件!
|
||||
echo 无法执行回滚操作
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
echo.
|
||||
|
||||
echo [3/5] 回滚前端...
|
||||
set frontendRollback=0
|
||||
|
||||
REM 回滚 app.asar
|
||||
if exist backup\app.asar (
|
||||
echo 正在恢复 app.asar...
|
||||
copy /Y backup\app.asar resources\app.asar >nul 2>&1
|
||||
if %errorlevel% equ 0 (
|
||||
echo app.asar 已回滚
|
||||
set frontendRollback=1
|
||||
) else (
|
||||
echo app.asar 回滚失败
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
|
||||
REM 回滚 app.asar.unpacked
|
||||
if exist backup\app.asar.unpacked (
|
||||
echo 正在恢复 app.asar.unpacked...
|
||||
if exist resources\app.asar.unpacked (
|
||||
rmdir /s /q resources\app.asar.unpacked 2>nul
|
||||
)
|
||||
xcopy backup\app.asar.unpacked resources\app.asar.unpacked\ /E /I /Y /Q >nul 2>&1
|
||||
if %errorlevel% equ 0 (
|
||||
echo app.asar.unpacked 已回滚
|
||||
set frontendRollback=1
|
||||
) else (
|
||||
echo app.asar.unpacked 回滚失败
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
|
||||
if %frontendRollback%==0 (
|
||||
echo 无前端备份,跳过
|
||||
)
|
||||
echo.
|
||||
|
||||
echo [4/5] 回滚后端...
|
||||
if exist backup\entrance.jar (
|
||||
echo 正在恢复 JAR 文件...
|
||||
copy /Y backup\entrance.jar resources\extraResources\java\entrance.jar >nul 2>&1
|
||||
if %errorlevel% equ 0 (
|
||||
echo 后端已回滚
|
||||
) else (
|
||||
echo 后端回滚失败
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
) else (
|
||||
echo 无后端备份,跳过
|
||||
)
|
||||
echo.
|
||||
|
||||
echo [5/5] 回滚数据库...
|
||||
if exist mysql\data_backup (
|
||||
echo 是否回滚数据库?(数据库回滚会丢失升级后的数据!)
|
||||
echo [Y] 是 [N] 否
|
||||
choice /C YN /N /M "请选择:"
|
||||
if errorlevel 2 (
|
||||
echo 已跳过数据库回滚
|
||||
) else (
|
||||
echo 正在回滚数据库...
|
||||
if exist mysql\data (
|
||||
rmdir /s /q mysql\data 2>nul
|
||||
)
|
||||
xcopy mysql\data_backup mysql\data\ /E /I /Y /Q >nul 2>&1
|
||||
if %errorlevel% equ 0 (
|
||||
echo 数据库已回滚
|
||||
) else (
|
||||
echo 数据库回滚失败
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
)
|
||||
) else (
|
||||
echo 无数据库备份,跳过
|
||||
)
|
||||
echo.
|
||||
|
||||
echo ========================================
|
||||
echo 回滚完成!
|
||||
echo ========================================
|
||||
echo.
|
||||
echo 您现在可以启动 NPQS9100 了
|
||||
echo.
|
||||
pause
|
||||
|
||||
Reference in New Issue
Block a user