Created
July 5, 2020 19:52
-
-
Save zzjtnb/63ab6ab5c966f6f234ba7f29367ac4ee to your computer and use it in GitHub Desktop.
定时关机脚本
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| ```bash | |
| ::定时关机脚本 | |
| ::Author:Tony Chang | |
| ::2016.10.18 | |
| ::原创代码,转载请注明出处 | |
| @echo off | |
| mode con lines=25 | |
| setlocal enabledelayedexpansion | |
| title 定时关机 | |
| color 0a | |
| cls | |
| REM set "timeGoal= 21:15" | |
| echo. | |
| echo. | |
| echo. | |
| echo 时间使用24小时制(如2:15),默认关机时间为:%timeGoal% | |
| echo. | |
| echo 取消已有关机计划 按N; | |
| echo. | |
| echo.当前时间 %time:~0,5% | |
| echo. | |
| echo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ | |
| echo. | |
| set /p "timeGoal= 请输入关机时间:" | |
| echo. | |
| if %timeGoal%==N goto cancel | |
| if %timeGoal%==n goto cancel | |
| set tmp=%timeGoal% | |
| ::将"号替换成空格 | |
| set /a num = 0 | |
| set "tmp=%tmp:"= %" | |
| :next | |
| if not "%tmp:~0,1%"==":" ( | |
| set /a num+=1 | |
| set "tmp=%tmp:~1%" | |
| goto next | |
| ) | |
| set /a hourNow = %time:~0,2% | |
| set /a minuteNow = %time:~3,2% | |
| set /a secNow = %time:~6,2% | |
| set /a hourGoal =!timeGoal:~0,%num%! | |
| set /a num+=1 | |
| set /a minuteGoal = !timeGoal:~%num%,2! | |
| set /a "diffT = hourGoal - hourNow" | |
| ::diffT<0; | |
| if %diffT% lss 0 ( | |
| echo 将设置为明天%timeGoal%关机 | |
| set /a "diffT = diffT + 24" | |
| ) | |
| set /a "diffT = diffT*3600+(minuteGoal-minuteNow)*60 - secNow" | |
| if %diffT% lss 0 ( | |
| echo 将设置为明天%timeGoal%关机 | |
| set /a "diffT = diffT + 86400" | |
| ) | |
| shutdown -s -t %diffT% | |
| echo 已设置%timeGoal%的关机计划 | |
| goto exit | |
| :cancel | |
| shutdown -a | |
| echo 已取消当前设定 | |
| goto exit | |
| REM :exit | |
| REM echo. | |
| REM echo 3秒后退出…… | |
| REM choice /t 3 /d y /n >nul | |
| ``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment