Bueno, aquí dejo algo que he codeado, tengan en cuenta que que me llevo mejor con *.vbs
, sin lugar a dudas se puede mejorar, pero bueno, eso se lo dejo a ustedes
@echo off
call :convertirse
set time1=%stotal%
pause
call :convertirse
set time2=%stotal%
set /a diferencia=%time2%-%time1%
set /a horas=%diferencia%/3600
set /a minutos=(%diferencia%-(%horas%*3600))/60
set /a segundos=%diferencia%-(%horas%*3600)-(%minutos%*60)
echo %horas%:%minutos%:%segundos%
pause >nul
:convertirse
set tiempo=%time%
set horas=%tiempo:~0,2%
set minutos=%tiempo:~3,2%
set segundos=%tiempo:~6,2%
set /a stotal=(%horas%*3600)+(%minutos%*60)+%segundos%
Como no se como se pueden restar horas en batch, lo que hago es convertir las horas a segundos, y luego con las segundos saco la diferencia de tiempo, luego, lo convierto en horas otra vez
Queda el tema de que en lugar de 2 ceros pone uno por ejemplo, pero bueno, eso se lo dejo a las mejoras
Saludos