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:
(http://imagengratis.org/images/scsxt3mp.png)
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.
@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.
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.