Schlagwort-Archive: schedule

Batch Update Timer

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