Cronometro BATCH

Iniciado por Segadorfelix, 7 Abril 2019, 08:00 AM

0 Miembros y 1 Visitante están viendo este tema.

Segadorfelix

Hola a todos! ;D

Comparto un código sencillo, que realice para medir el tiempo que se realiza alguna actividad. No es un cronometro en el sentido estricto. Solo toma la hora inicial, la hora final y da el delta de tiempo, por medio cuentas. Además de guardarlo en un archivo, para mirar el progreso total, de dicha actividad. Y las fechas respectivas.

https://pastebin.com/Rn1S7vD0






Código (dos) [Seleccionar]

@echo off
Rem Segaforfelix, DEMIAN_ABRAXAS
title Cronometro
set Carpet="%USERPROFILE%\Desktop\Practica_I\Registro.txt"
IF NOT exist %Carpet% (
md %Carpet:~0,-14%"
echo REGISTRO:> %Carpet%
echo.>> %Carpet%
)

set /a nh=0
set /a nm=0
set /a nr=0
for /f "usebackq eol=H tokens=2" %%a in (%Carpet%) do (
set /a nh=%%a+nh
)
for /f "usebackq eol=H tokens=4" %%a in (%Carpet%) do (
set /a nm=%%a+nm
)
IF %nm% GEQ 60 (
set /a nr=1
)
IF "%nr%"=="1" (
set /a nh=nh+nm/60
set /a nm=nm%%60
)

echo Progreso Total: %nh% horas. %nm% minutos.
echo.
set /p a="Presione enter para iniciar el conteo...."
set a=%time%
set b=%date%
echo.
set /p c="Presione enter para finalizar el conteo...."
set c=%time%

IF "%a:~0,1%" EQU "0" (set /a hi=%a:~1,1%) ELSE (set /a hi=%a:~0,2%)
IF "%a:~3,1%" EQU "0" (set /a mi=%a:~4,1%) ELSE (set /a mi=%a:~3,2%)

IF "%c:~0,1%" EQU "0" (set /a hf=%c:~1,1%) ELSE (set /a hf=%c:~0,2%)
IF "%c:~3,1%" EQU "0" (set /a mf=%c:~4,1%) ELSE (set /a mf=%c:~3,2%)

set /a Resulm=mf-mi
set /a Resulh=hf-hi

IF %hi% GTR %hf% (
Set /a Resulh=24+Resulh
)

IF %mi% GTR %mf% (
Set /A Resulh=Resulh-1
Set /A Resulm=60+Resulm)

echo.
Echo La practica a durado:
Echo %Resulh% horas.
Echo %Resulm% minutos.
echo.

:save
set /p g="¿Desea guardarlo en el Registro?(s/n)"
echo.
IF "%g%"=="n" (exit) ELSE (
IF "%g%"=="s" (
echo %b%>>%Carpet%
echo Hora inicial: %a%>>%Carpet%
echo Hora final: %c%>>%Carpet%
echo Duración: %Resulh% horas. %Resulm% minutos.>>%Carpet%
echo.>> %Carpet%
) ELSE (goto save)
)


Espero, sea de ayuda a quien lo requiera!