Hier mal eine Idee für einen Batch updater. Gedacht ist, dass das Batchprogramm alle 4 Monate Updates installiert. Das ganze ist sehr einfach gehalten, wie man sieht werde Schaltjahre und Monatslängen nicht berücksichtigt. Im Grunde wird einfach überprüft ob zum letzten mal Ausführen schon 120 Tage vergangen sind, wenn ja kann man wählen ob das Batch vorsetzen soll.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | @echo off Setlocal EnableDelayedExpansion :: path to update ini set "ini=D:\Dateien\DEV\BatchScripts\update.ini" set year=%date:~-4% set month=%date:~-7,2% set day=%date:~-10,2% set splitMonth=%month:~0,1% set splitDay=%day:~0,1% if %splitMonth%==0 ( set month=%month:~-1% ) if %splitDay%==0 ( set day=%day:~-1% ) if not exist %ini% ( echo.year=%year%>>%ini% echo.month=!month!>>%ini% echo.day=!day!>>%ini% ) for /F "tokens=2 delims==" %%a in ('findstr /i year %ini%') do ( set oldYear=%%a ) for /F "tokens=2 delims==" %%b in ('findstr /i month %ini%') do ( set oldMonth=%%b ) for /F "tokens=2 delims==" %%c in ('findstr /i day %ini%') do ( set oldDay=%%c ) set /a calcDays = %year% * 365 + %month% * 30 + %day% set /a calcOldDays = %oldYear% * 365 + %oldMonth% * 30 + %oldDay% set /a diffDays = %calcDays% - %calcOldDays% :: update cycle 120 days = 4 month if %diffDays% LSS 120 GOTO run echo. echo.................................................................... echo. echo.....Update Progress................................................ echo. echo.................................................................... echo. echo. echo.Do you want to update media_compressor? Type: yes or no echo. set /P keyInput="Update Process:" echo. if %keyInput% == no exit if %keyInput% == yes ( del %ini% echo.year=%year%>>%ini% echo.month=!month!>>%ini% echo.day=!day!>>%ini% ) :run pause |