admin 管理员组

文章数量: 1184232

自动关机设定脚本

参考文章《 》的基础上再加上一种方式和返回按键

@echo off
:Menu
echo       ===========================================
echo             请选择要进行的操作,然后按回车
echo       ===========================================
echo.
echo             S.设定自动关机时间(倒计时)
echo.
echo             A.设定自动关机时间(时分)
echo.
echo             C.取消自动关机
echo.
echo             Q.退出
echo.
echo.			
echo.::	如Second=%time:~6,2%%%是引用变量	time的值是从第6个字符起的2个字符
:loop_start
set /p choice=    请选择:
IF NOT "%choice%"=="" SET choice=%choice:~0,1%if/i "%choice%"=="S"goto set_start
if/i "%choice%"=="A"goto input_hh
if/i "%choice%"=="C"goto cancel_start
if/i "%choice%"=="Q"goto closee
echo 选择无效,请重新输入
echo.goto loop_start
::====================================================================================:set_start
set /p t1=    请输入分钟数(输入B返回上一层):
IF NOT "%t1%"=="" SET choice=%t1:~0,1%if/i "%t1%"=="B"goto loop_start
set /a t2=60
set /a result=%t1%*%t2%
shutdown -s -t %result%
echo.
echo *****设置成功!系统将在%t1%分钟后关闭!
echo.goto endd
::====================================================================================:input_hh
set /p h1=    请输入时钟(输入B返回上一层):
IF NOT "%h1%"=="" SET choice=%h1:~0,1%if/i "%h1%"=="B"goto loop_start
set /a h2=23if%h1% gtr %h2%(
	echo 输入错误,请重新输入
	goto set2_start
)else(goto input_mm
)::====================================================================================:input_mm
set /p m1=    请输入分钟(输入B返回上一层):
IF NOT "%m1%"=="" SET choice=%m1:~0,1%if/i "%m1%"=="B"goto input_hh
set /a m2=60if%h1% gtr %h2%(
	echo 输入错误,请重新输入
	goto input_mm
)else(
	schtasks /create /tn "关机"/tr "shutdown /s"/sc once /st %h1%:%m1%
	echo.
	echo *****设置成功!系统将在%t1%分钟后关闭!
	echo.goto endd
	goto endd
)::====================================================================================:cancel_start
schtasks /delete /tn "关机"
echo.
echo *****已取消自动关机!
echo.goto endd
::====================================================================================:endd
pause
:closee

本文标签: 关机 系统 编程