Cita de: Novlucker en 13 Julio 2008, 20:56 PM
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 ustedesCódigo [Seleccionar]@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
Ahora viene la parte en que me retan por responder temas viejos...pero nunca es viejo si es lo suficientemente util...
Aqui viene una mejora al codigo de Novlucker
agregando esto:
Código (dos) [Seleccionar]
if %horas% LSS 10 set horas=0%horas%
if %minutos% LSS 10 set minutos=0%minutos%
if %segundos% LSS 10 set segundos=0%segundos%
echo %horas%:%minutos%:%segundos%
justo antes del "echo" final se soluciona lo del cero que faltaba
Yhea!