File Batch - Calcolare Durata Procedura
Vi riporto il codice per poter calcolare il tempo trascorso in un file Batch
Metodo 1 :
--------------------------------------------------------------------
@echo off
cls
setlocal EnableDelayedExpansion
set STARTTIME=%TIME: =%
set /A OreInizio=%STARTTIME% / 360000
if %OreInizio% LSS 10 set STARTTIME=0%STARTTIME%
pause
set ENDTIME=%TIME: =%
set /A OreFine=%ENDTIME% / 360000
if %OreFine% LSS 10 set ENDTIME=0%ENDTIME%
set /A OreInizio=%STARTTIME:~0,2%
set /A MinutiInizio=%STARTTIME:~3,2%
set /A SecondiInizio=%STARTTIME:~6,2%
set /A OreFine=%ENDTIME:~0,2%
set /A MinutiFine=%ENDTIME:~3,2%
set /A SecondiFine=%ENDTIME:~6,2%
Set /A DurataInizioInSecondi=(%OreInizio% * 3600)+(%MinutiInizio%*60)+%SecondiInizio%
Set /A DurataFineInSecondi=(%OreFine% * 3600)+(%MinutiFine%*60)+%SecondiFine%
IF %OreFine% LSS %OreInizio% Set /A DurataFineInSecondi=%DurataFineInSecondi%+86400
Set /A TempoInSecondi=%DurataInizioInSecondi%-%DurataFineInSecondi%
IF %DurataInizioInSecondi% LSS %DurataFineInSecondi% Set /A TempoInSecondi=%DurataFineInSecondi%-%DurataInizioInSecondi%
Set /A Ore = %TempoInSecondi% / 3600
Set /A Minuti = (%TempoInSecondi%-(%Ore%*3600))/60
Set /A Secondi = %TempoInSecondi%-((%Ore% * 3600)+(%Minuti%*60))
IF %Ore% LSS 10 set Ore=0%Ore%
IF %Minuti% LSS 10 set Minuti=0%Minuti%
IF %Secondi% LSS 10 set Secondi=0%Secondi%
echo Durata Procedura %Ore%:%Minuti%:%Secondi%
set /A OreFine=%ENDTIME% / 360000
if %OreFine% LSS 10 set ENDTIME=0%ENDTIME%
set /A OreInizio=%STARTTIME:~0,2%
set /A MinutiInizio=%STARTTIME:~3,2%
set /A SecondiInizio=%STARTTIME:~6,2%
set /A OreFine=%ENDTIME:~0,2%
set /A MinutiFine=%ENDTIME:~3,2%
set /A SecondiFine=%ENDTIME:~6,2%
Set /A DurataInizioInSecondi=(%OreInizio% * 3600)+(%MinutiInizio%*60)+%SecondiInizio%
Set /A DurataFineInSecondi=(%OreFine% * 3600)+(%MinutiFine%*60)+%SecondiFine%
IF %OreFine% LSS %OreInizio% Set /A DurataFineInSecondi=%DurataFineInSecondi%+86400
Set /A TempoInSecondi=%DurataInizioInSecondi%-%DurataFineInSecondi%
IF %DurataInizioInSecondi% LSS %DurataFineInSecondi% Set /A TempoInSecondi=%DurataFineInSecondi%-%DurataInizioInSecondi%
Set /A Ore = %TempoInSecondi% / 3600
Set /A Minuti = (%TempoInSecondi%-(%Ore%*3600))/60
Set /A Secondi = %TempoInSecondi%-((%Ore% * 3600)+(%Minuti%*60))
IF %Ore% LSS 10 set Ore=0%Ore%
IF %Minuti% LSS 10 set Minuti=0%Minuti%
IF %Secondi% LSS 10 set Secondi=0%Secondi%
echo Durata Procedura %Ore%:%Minuti%:%Secondi%
--------------------------------------------------------------------
Metodo 2 :
--------------------------------------------------------------------
@echo off
cls
setlocal EnableDelayedExpansion
set STARTTIME=%TIME: =%
set /A OreInizio=%STARTTIME% / 360000
if %OreInizio% LSS 10 set STARTTIME=0%STARTTIME%
pause
set ENDTIME=%TIME: =%
set /A OreFine=%ENDTIME% / 360000
if %OreFine% LSS 10 set ENDTIME=0%ENDTIME%
set /A OreInizio=%STARTTIME:~0,2%
set /A MinutiInizio=%STARTTIME:~3,2%
set /A SecondiInizio=%STARTTIME:~6,2%
set /A OreFine=%ENDTIME:~0,2%
set /A MinutiFine=%ENDTIME:~3,2%
set /A SecondiFine=%ENDTIME:~6,2%
set /A DurataSecondi=(60-%SecondiInizio%)+(%SecondiFine%-60)
set /A TogliMinuti=0
IF %SecondiFine% LSS %SecondiInizio% set /A DurataSecondi=60-%SecondiInizio%+%SecondiFine%
IF %SecondiFine% LSS %SecondiInizio% set /A TogliMinuti=-1
set /A DurataMinuti=(60-%MinutiInizio%)+(%MinutiFine%-60)+%TogliMinuti%
set /A TogliOra=0
IF %MinutiFine% LSS %MinutiInizio% set /A DurataMinuti=(60-%MinutiInizio%)+%MinutiFine%+%TogliMinuti%
IF %MinutiFine% LSS %MinutiInizio% set /A TogliOra=-1
IF %MinutiFine% EQU %MinutiInizio% set /A DurataMinuti=60+%TogliMinuti%
IF %MinutiFine% EQU %MinutiInizio% set /A TogliOra=-1
IF %DurataMinuti% EQU 60 set /A TogliOra=0
IF %DurataMinuti% EQU 60 set /A DurataMinuti=0
set /A DurataOre=%OreFine%-%OreInizio%+%TogliOra%
IF %OreFine% LSS %OreInizio% set /A DurataOre=(24-%OreInizio%)+%OreFine%+%TogliOra%
IF %DurataOre% LSS 10 set DurataOre=0%DurataOre%
IF %DurataMinuti% LSS 10 set DurataMinuti=0%DurataMinuti%
IF %DurataSecondi% LSS 10 set DurataSecondi=0%DurataSecondi%
echo Durata Procedura %DurataOre%:%DurataMinuti%:%DurataSecondi%
--------------------------------------------------------------------

0 Commenti:
Posta un commento
Iscriviti a Commenti sul post [Atom]
<< Home page