@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