144 lines
3.2 KiB
Batchfile
144 lines
3.2 KiB
Batchfile
|
|
@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
|
|||
|
|
|