56 lines
1.8 KiB
Batchfile
56 lines
1.8 KiB
Batchfile
@echo off
|
|
cls
|
|
|
|
set "TARGET=%USERPROFILE%\Projekcija"
|
|
set "BACKUP_DIR=%TARGET%\backup"
|
|
|
|
:: Najprej preveri ali obstaja mapa Projekcija na USB (D:)
|
|
IF EXIST "D:\Projekcija" (
|
|
echo Mapa 'Projekcija' na USB pogonu obstaja.
|
|
|
|
:: 1. Ustvari backup obstoječe baze na namizju, če obstaja
|
|
IF EXIST "%TARGET%\songs.db" (
|
|
echo Ustvarjam backup baze...
|
|
if not exist "%BACKUP_DIR%" mkdir "%BACKUP_DIR%"
|
|
|
|
:: Pridobi timestamp (YYYYMMDD_HHMMSS)
|
|
for /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c%%a%%b)
|
|
for /f "tokens=1-2 delims=: " %%a in ('time /t') do (set mytime=%%a%%b)
|
|
set "TS=%date:~10,4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%"
|
|
set "TS=%TS: =0%"
|
|
|
|
set "CURRENT_BACKUP=%BACKUP_DIR%\backup_%TS%"
|
|
mkdir "%CURRENT_BACKUP%"
|
|
|
|
if exist "%TARGET%\settings.conf" copy "%TARGET%\settings.conf" "%CURRENT_BACKUP%\" >nul
|
|
if exist "%TARGET%\songs.db" copy "%TARGET%\songs.db" "%CURRENT_BACKUP%\" >nul
|
|
|
|
echo Backup ustvarjen v: %CURRENT_BACKUP%
|
|
|
|
:: 2. Ohrani samo zadnjih 6 backupov (pobriši starejše)
|
|
pushd "%BACKUP_DIR%"
|
|
for /f "skip=6 delims=" %%F in ('dir /b /ad /o-n backup_*') do (
|
|
echo Brisanje starega backupa: %%F
|
|
rd /s /q "%%F"
|
|
)
|
|
popd
|
|
)
|
|
|
|
echo Kopiram nove datoteke z USB na namizje...
|
|
:: Kopiranje z robocopy (/E - vse podmape, /XO - samo novejše datoteke, da ne povozimo backupa če ni treba)
|
|
robocopy "D:\Projekcija" "%TARGET%" /E
|
|
|
|
echo Zagon projector.py ...
|
|
pushd "%TARGET%"
|
|
py "%~dp0projector.py"
|
|
popd
|
|
) ELSE (
|
|
cls
|
|
echo USB ključek ni najden. Zagon lokalne verzije...
|
|
echo Zagon projector.py ...
|
|
pushd "%TARGET%"
|
|
py "%~dp0projector.py"
|
|
popd
|
|
)
|
|
|
|
pause |