@echo off setlocal set "SERVER_DIR=%~dp0" if "%SERVER_DIR:~-1%"=="\" set "SERVER_DIR=%SERVER_DIR:~0,-1%" set "LOCAL_DIR=C:\PYTHON_LOCAL\MonitorOsservatorio" set "MONITOR_SERVER_DIR=\\Mediaset.it\cologno\Osservatorio_Progetti\MonitorOsservatorio" REM --- Confronta versioni --- set "SERVER_VER=" set "LOCAL_VER=" if exist "%SERVER_DIR%\version.txt" set /p SERVER_VER=<"%SERVER_DIR%\version.txt" if exist "%LOCAL_DIR%\version.txt" set /p LOCAL_VER=<"%LOCAL_DIR%\version.txt" if "%SERVER_VER%"=="%LOCAL_VER%" goto :launch REM --- Aggiornamento necessario --- echo. echo ============================================================ echo MonitorOsservatorio - Aggiornamento in corso... echo (operazione necessaria solo al primo avvio o dopo un aggiornamento) echo ============================================================ echo. mkdir "%LOCAL_DIR%" >nul 2>&1 set "_SRC_PY=%SERVER_DIR%\python" set "_DST_PY=%LOCAL_DIR%\python" set "_SRC_APP=%SERVER_DIR%\app" set "_DST_APP=%LOCAL_DIR%\app" echo [1/2] Aggiornamento runtime Python... powershell -NoProfile -Command "robocopy $env:_SRC_PY $env:_DST_PY /MIR /NP /NJH /NJS /NDL | ForEach-Object { $l=$_.Trim(); if($l){ Write-Host (\"`r \" + $l.PadRight(70)) -NoNewline } }; Write-Host ''" echo. echo [2/2] Aggiornamento applicativo... powershell -NoProfile -Command "robocopy $env:_SRC_APP $env:_DST_APP /MIR /XD __pycache__ /XF '*.pyc' /NP /NJH /NJS /NDL | ForEach-Object { $l=$_.Trim(); if($l){ Write-Host (\"`r \" + $l.PadRight(70)) -NoNewline } }; Write-Host ''" echo. copy /Y "%SERVER_DIR%\version.txt" "%LOCAL_DIR%\version.txt" >nul echo ============================================================ echo Aggiornamento completato. Avvio in corso... echo ============================================================ echo. :launch taskkill /IM pythonw.exe /F >nul 2>&1 set "PYTHONPATH=%LOCAL_DIR%" set "MONITOR_SERVER_DIR=%MONITOR_SERVER_DIR%" IF EXIST "%LOCAL_DIR%\python\pythonw.exe" ( start "" "%LOCAL_DIR%\python\pythonw.exe" -m app.main ) ELSE ( REM Fallback: esegui dal server se locale non disponibile set "PYTHONPATH=%SERVER_DIR%" start "" "%SERVER_DIR%\python\pythonw.exe" -m app.main ) endlocal