使用批处理进行定时关机(适用于win8.1)

最近一个朋友苦于找不到定时关机的功能,告诉我后决定用写一个批处理文件给他用。可是问题来了,对于win8.1已经不再支持at XX:XX shutdown -s的写法,但是仍然支持shutdown -s -t XXX的关机方式,于是自己封装了一下bat文件给他使用下面就贴出我的代码来。

:begin
@echo off
rem EQU - 等于
rem NEQ - 不等于
rem LSS - 小于
rem LEQ - 小于或等于
rem GTR - 大于
rem GEQ - 大于或等于
set nowTime=%date:~0,4%年%date:~5,2%月%date:~8,2%日%time:~0,2%时%time:~3,2%分%time:~6,2%秒
set nowHour=%time:~0,2%
set nowMin=%time:~3,2%
set/p hour=请输入关机小时并按回车:
if %hour% GTR 24 (
	echo 小时数不能超过24,请重新输入小时
	echo.
	goto begin
) else (
	if %hour% LSS 0 (
		echo 小时数不能小于0,请重新输入小时
		echo.
		goto begin
	) else (
		if %hour% LSS %nowHour% (
			echo 输入的小时小于当前小时,请重新输入小时
			echo.
			goto begin
		)
	)
)

:tab
set/p min=请输入关机分钟并按回车:
if %min% GTR 60 (
	echo 分钟数不能超过60,请重新输入分钟
	echo.
	goto tab
) else (
	if %min% LSS 0 (
		echo 分钟数不能小于0,请重新输入分钟
		echo.
		goto tab
	)
)
set downTime=%date:~0,4%年%date:~5,2%月%date:~8,2%日%hour%时%min%分%time:~6,2%秒
set/a downSecond=(%hour%-%nowHour%)*3600+(%min%-%nowMin%)*60
:next
echo.
shutdown -s -t %downSecond%
echo   当前时间:%nowTime%
echo 预计关机时间:%downTime%
pause


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章