使用批處理進行定時關機(適用於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


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