Cita de: Eleкtro en 11 Junio 2012, 04:36 AM
Hola,
Aqui tienes mi versión de cosecha propia xD
PD: Funciona especificando minutos, Como se supone que querías... Y usa el formato que quieres (00:00:00).
Saludos.Código (dos) [Seleccionar]@echo off
Title Cuenta Regresiva
REM By Elektro H@cker
REM Visita: WWW.ElHacker.Net
Setlocal enabledelayedexpansion
:MENU
set /p TIMER=Escribe cuantos minutos durara la cuenta ^>^>
If not defined TIMER (Goto :Menu)
Echo "%TIMER%"| FINDSTR /I "[A-Z]" >NUL && Goto :Menu || (set /A total_sec=%TIMER%*60)
If %total_sec% LSS 3600 (Set /A Horas=0, Minutos=%TIMER%, Segundos=0& Goto :Countdown) ELSE (Set /A Timer+=60)
Set /A Horas=%Timer%-60 & Set /A Horas=!Horas!/60
Set /A MINUTOS=%Timer%-60 & For /L %%X in (1,1,!HORAS!) Do (Set /A MINUTOS-=60)
Set /A Segundos=0
:Countdown
CLS
For /L %%H in (%HORAS%,-1,0) Do (
For /L %%M in (!MINUTOS!,-1,0) Do (
For /L %%S in (!SEGUNDOS!,-1,0) Do (
Echo %%H| FINDSTR "^[0-9][0-9]$" >NUL && SET "HO=%%H" || (Set HO=0%%H)
Echo %%M| FINDSTR "^[0-9][0-9]$" >NUL && SET "MI=%%M" || (Set MI=0%%M)
Echo %%S| FINDSTR "^[0-9][0-9]$" >NUL && SET "SE=%%S" || (Set SE=0%%S)
Echo !HO!:!MI!:!SE!
Ping -n 2 localhost >NUL
CLS
)
If !SE!==00 (Set /A SEGUNDOS=59)
)
If !MI!==00 (Set /A MINUTOS=59)
)
:FIN
Echo Fin de la cuenta atras.
Pause
¿Qué se necesitaría agregar a ese código para que el usuario presionando una tecla interrumpa el conteo y pase a la siguiente línea?