BAT批处理版电脑定时关机小脚本

核心的命令就是shutdown -s -t,功能不多:
1.设置关机时间,然后系统会提示计划内容;
2.取消关机计划,然后系统也会提示关机计划已被取消;

@echo off
mode con lines=25 cols=50
setlocal enabledelayedexpansion
title 定时关机 By_安鹿
color 2f
cls
set "timeGoal= 23:59"

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

:exit
echo.
echo 3秒后退出……
choice /t 3 /d y /n >nul

如果记事本编辑乱码,请保存ANSI格式。如果是emeditor,保持时编辑选择为系统默认。


公告:快来抢广告位吧! 联系q:3533464073
© 版权声明

文章版权声明

1、本网站名称:安鹿轩

2、本站永久网址:www.anlu1314.com

3.安鹿轩(下文简称本站)提供的所有内容仅供学习、交流和分享用途,只供参考。

4.本站资源禁止并谢绝未经本站许可的使用,如若欲转载,请署名以及注明出处,请务必以文字链接的形式标明或保留文章原始出处和作者的信息。

5.本站(原创)文章、资源、图片等所有内容,一经转载,即表示您已经接受上述声明!需自行承担一切风险与责任!

6.关于本站的所有留言评论与转载、引用文纯属文字原作者个人观点,与本站观点及立场无关!

7.如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

8.有任何侵权问题请联系E-mail [email protected]

THE END
感谢支持啦!୧( ⁼̴̶̤̀ω⁼̴̶̤́ )૭
点赞5 分享
让我来说两句( ˃̶̤́ ꒳ ˂̶̤̀ ) 抢沙发
头像
来来来,畅所欲言吧༼。^・ェ・^。༽
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容