@rem Salvataggio Office per date
@rem aggiornato al 30/03/2016

@rem salva 
@rem - d:\DATI\
@rem - d:\PRIVATI\
@rem - d:\MEDIAZIONE\

@setlocal
@Setlocal EnableDelayedExpansion

@rem by Andrea 30/3/2016
@rem ----------------------------------------------------------------------
@rem Partendo dalla data di sistema estrae le variabili DAY, MONTH ed YEAR
@rem calcola poi la settimana in cui mi trovo WOM range 1-5
@rem ed infine il giorno della settimana DOW range 1-7
@rem assegna anche EOM e EOW se sono alla fine della settimana e del mese
@rem ----------------------------------------------------------------------

@For /F "tokens=1,2,3 delims=/ " %%A in ('Date /t') do @(
   Set DAY=%%A
   Set MONTH=%%B
   Set YEAR=%%C
)
@Set ANSI=%YEAR%%MONTH%%DAY%
@Set DATA=%DAY%/%MONTH%/%YEAR%
@rem %TM:~0,1% si legge come il primo carattere ovvero da OFFSET 0 per 1 Carattere
@rem è la correzione per eliminare lo 0 in testa alle date

@set TM=%MONTH%
@set TM=%TM:~0,1%
@if %TM% == 0 ( set /a NMONTH=%MONTH:~1,1% ) else ( set NMONTH=%MONTH%)

@set TM=%DAY%
@set TM=%TM:~0,1%
@if %TM% == 0 ( set /a NDAY=%DAY:~1,1% ) else ( set NDAY=%DAY%)

@Set /a  WEEK = ( NDAY - 1 ) / 7
@Set /a  DOW = %NDAY% - ( %WEEK% * 7 )

@rem --- controlla fine mese e fine settimana
@set EOW=0
@set EOM=0
@if %DOW% == 7 ( Set EOW = %WEEK%)
@for %%A in (11 4 6 9)        do @if %NMONTH% == %%A ( if %NDAY% == 31 ( set EOM=%NMONTH%) ) 
@for %%A in (1 3 5 7 8 10 12) do @if %NMONTH% == %%A ( if %NDAY% == 30 ( set EOM=%NMONTH%) ) 
@for %%A in (2)               do @if %NMONTH% == %%A ( if %NDAY% == 28 ( set EOM=%NMONTH%) )

@echo DAY(%DAY%) MONTH(%MONTH%) WEEK(%WEEK%)  DOW(%DOW%)  End Of Month EOM(%EOM%)  End Of Week EOW(%EOW%)
@echo NDAY(%NDAY%) NMONTH(%NMONTH%) ANSI(%ANSI%)  DATA(%DATA%)
@rem ----------------------------------------------------------------------

@set SRC=\\192.168.200.2
@set TRG=\\192.168.200.3\Zip
@set PRG=\\192.168.200.2\Manutenzione\AggiornaPL\7z.exe
@set LOG7Z=\\192.168.200.3\Zip\Log\log-7z.txt
@set LOGFILE=\\192.168.200.3\Zip\Log\log.txt
@set LOGMAIL=\\192.168.200.3\Zip\Log\log-mail.txt
@set TOEML="<andrea.sommaruga@gmail.com>"
@set BODY=Vedi Log allegato:%LOG7Z%
@set SUBJECT=ColGeoMB_Backup_Giornalieri_QNAP-zip

@echo %DATA% >%LOG7Z%
@del smtp-??.log

@call :ZIPPONE PRIVATI
@call :ZIPPONE MEDIAZIONE
@call :ZIPPONE DATI

@if !ERRORE!A == A (
	@set MSG=OK:
) else (
	@set MSG=!ERRORE!
)
@echo %MSG%; %DATA% >>%LOGFILE%
gmail.exe %TOEML% "%MSG% %SUBJECT%"  "%BODY%"  "%LOG7Z%" >>%LOGMAIL%

@goto FINE

:ZIPPONE
	@set BKUPSRC=%SRC%\%1\*.doc* %SRC%\%1\*.xsl* %SRC%\%1\*.pdf
	@set BKUPFILE=%TRG%\%1\%1-Day-%DOW%.7zippato
	@set BKUPWEEK=%TRG%\%1\%1-Week-%WEEK%.7zippato
	@set BKUPMONTH=%TRG%\%1\%1-Month-%MONTH%.7zippato

	%PRG% a -t7z "%BKUPFILE%" -r %BKUPSRC%   >>%LOG7Z%

	@if %ERRORLEVEL% == 0 ( 
		@set MSG=OK; %DATA%; %1
	) else (
		@set MSG=Errore in: %DATA%; %1 
		@set ERRORE=!ERRORE! !MSGZIP! 
	)						
	@echo !MSG! >>%LOGFILE%
	
	@if %EOW% GTR 0 copy %BKUPFILE% %BKUPWEEK%
	@if %EOM% GTR 0 copy %BKUPFILE% %BKUPMONTH%
@EXIT /B !ERRORLEVEL!

:FINE
ENDLOCAL DisableDelayedExpansion