[BATCH] Shutdown Countdown System

Iniciado por Xt3mP, Mayo 23, 2011, 11:45:11 PM

Tema anterior - Siguiente tema

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

Mayo 23, 2011, 11:45:11 PM Ultima modificación: Mayo 23, 2011, 11:52:02 PM por Xt3mP
Este código en realidad es algo sucio y lo utilizo en lo personal ya que duermo con sonidos relajantes (no-homo), y como tenía el ligero problema de estarme levantando a apagar el ordenador, o bien, estar poniendo manualmente por cmd shutdown -s -t XX, se me ocurrió hacer un código BATCH demasiado sencillo:


1.- Te pide el número de minutos para que tarde el apagado (posteriormente ocuparás escribir Y para confirmar o N para cancelar).
2.- Si existe o no un apagado en progreso, lo cancelará.
3.- Te saca del programa.

Código: batch

@echo off
title  Shutdown Countdown System by Xt3mP
color 0A
:start
mode con cols=51 lines=20
cls
set up=ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
set empty=³                                                 ³
set title=³            SHUTDOWN COUNTDOWN SYSTEM            ³
set options=³     OPTIONS                                     ³
set option1=³     1.- CONFIG SHUTDOWN COUNTDOWN SYSTEM        ³
set option2=³     2.- CANCEL SHUTDOWN COUNTDOWN SYSTEM        ³
set option3=³     3.- EXIT                                    ³
set processing=³                COMPLETE THE FIELD               ³
set author=³              Xt3mP[at]h4x0rz[dot]us             ³
set line=³_________________________________________________³
set down=ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
echo %up%%empty%%title%%line%%empty%%options%%empty%%option1%%option2%%option3%%empty%%line%%empty%%author%%empty%%down%
set /p option=Choose an option:
if not defined option (goto:start)
for %%_ in (1 2 3) do (
if ["%option%"]==["%%_"]  (goto:%option%)
)
msg * You inserted a wrong option
goto:start

:1
mode con cols=51 lines=15
cls
echo %up%%empty%%title%%line%%empty%%processing%%line%%empty%%author%%empty%%down%
set /p minutes=How much minutes you want to start the shutdown:
if not defined minutes (goto:config)
set /p confirm=Are you sure that you want %minutes% minutes? (Y/N)
if not defined confirm (goto:config)
for %%_ in (Y N) do (
if ["%confirm%"]==["%%_"]  (goto:%confirm%)
)
msg * You inserted a wrong option
goto:1
pause >nul

:Y
mode con cols=51 lines=15
cls
echo %up%%empty%%title%%line%%empty%%processing%%line%%empty%%author%%empty%%down%
set /a finalminutes= %minutes% * 60
echo Shutdown countdown will be started when you press any key, after that this program will close...
pause > nul
shutdown -s -t %finalminutes%
goto:start

:N
goto:1

:2
mode con cols=51 lines=15
cls
echo %up%%empty%%title%%line%%empty%%processing%%line%%empty%%author%%empty%%down%
echo Shutdown countdown will be canceled when you press any key...
pause > nul
shutdown -a
goto:start

:3
mode con cols=51 lines=14
cls
echo %up%%empty%%title%%line%%empty%%processing%%line%%empty%%author%%empty%%down%
echo Press any key to close this program...
pause > nul
exit


Bug:
Si cuando te pide minutos no ingresas un número (no comprobueba si es numérico) se apagará en ese mismo instante.

P.D. Les puede servir a algunos, aunque en realidad todo se resume a abrir CMD y escribir shutdown -s -t XX en donde XX es el tiempo para que se apague, saludos.
Cada vez que me das Karma me motivas

Es interesante saberlo pero se puede programar el apagado de Windows con el "Creador de tareas"  ;)



Saludos

Así es, te cito un texto del post:

Cita de: Xt3mP
P.D. Les puede servir a algunos, aunque en realidad todo se resume a abrir CMD y escribir shutdown -s -t XX en donde XX es el tiempo para que se apague, saludos.

Saludos.
Cada vez que me das Karma me motivas