43 lines
1.8 KiB
Batchfile
43 lines
1.8 KiB
Batchfile
@echo off
|
|
SETLOCAL ENABLEDELAYEDEXPANSION
|
|
|
|
REM ============================================================
|
|
REM Reload wrapped with pre/post git commits + rolling QVW backup.
|
|
REM Substitute PROJECT_ROOT and APP_PATH for your project.
|
|
REM ============================================================
|
|
|
|
SET "PROJECT_ROOT=<<PROJECT_ROOT>>"
|
|
SET "APP_PATH=%PROJECT_ROOT%\4.Apps.QVW\<<APP_NAME>>.qvw"
|
|
SET "LOG_DIR=%PROJECT_ROOT%\10.QQlog"
|
|
IF NOT EXIST "%LOG_DIR%" MKDIR "%LOG_DIR%"
|
|
SET "LOG_FILE=%LOG_DIR%\QQreload_monitor_<<APP_NAME>>.txt"
|
|
|
|
FOR /F %%a IN ('powershell -NoProfile -Command "Get-Date -Format yyyyMMdd_HHmmss"') DO SET "TS=%%a"
|
|
|
|
REM --- Pre-reload: snapshot current -prj state to git ---
|
|
PUSHD "%PROJECT_ROOT%"
|
|
git add -A >> "%LOG_FILE%" 2>&1
|
|
git commit -m "pre-reload %TS% (user edits captured)" --allow-empty >> "%LOG_FILE%" 2>&1
|
|
POPD
|
|
|
|
REM --- Rolling QVW backup (fallback safety net) ---
|
|
powershell -ExecutionPolicy Bypass -File "%~dp0Backup_QVW.ps1" -QvwPath "%APP_PATH%" -Keep 20 >> "%LOG_FILE%" 2>&1
|
|
|
|
SET "QV_EXE="
|
|
FOR /F "tokens=2*" %%A IN ('REG QUERY "HKLM\SOFTWARE\QlikTech\QlikView" /v InstallDir 2^>nul') DO SET "QV_EXE=%%B\qv.exe"
|
|
IF NOT DEFINED QV_EXE IF EXIST "C:\Program Files\QlikView\qv.exe" SET "QV_EXE=C:\Program Files\QlikView\qv.exe"
|
|
IF NOT DEFINED QV_EXE (ECHO qv.exe not found >> "%LOG_FILE%" & EXIT /B 2)
|
|
|
|
ECHO ============================================================ >> "%LOG_FILE%"
|
|
ECHO [%date% %time%] reload start >> "%LOG_FILE%"
|
|
"%QV_EXE%" /r "%APP_PATH%"
|
|
SET "RC=%ERRORLEVEL%"
|
|
ECHO [%date% %time%] reload end rc=%RC% >> "%LOG_FILE%"
|
|
|
|
REM --- Post-reload: capture script-side -prj changes to git ---
|
|
PUSHD "%PROJECT_ROOT%"
|
|
git add -A >> "%LOG_FILE%" 2>&1
|
|
git commit -m "post-reload %TS% (rc=%RC%)" --allow-empty >> "%LOG_FILE%" 2>&1
|
|
POPD
|
|
|
|
EXIT /B %RC%
|