核心的命令就是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,保持时编辑选择为系统默认。
千百度
© 版权声明
1.本站内容仅供参考,不作为任何法律依据。用户在使用本站内容时,应自行判断其真实性、准确性和完整性,并承担相应风险。
2.本站部分内容来源于互联网,仅用于交流学习研究知识,若侵犯了您的合法权益,请及时邮件或站内私信与本站联系,我们将尽快予以处理。
3.本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
4.根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
5.本站是非经营性个人站点,所有软件信息均来自网络,所有资源仅供学习参考研究目的,并不贩卖软件,不存在任何商业目的及用途
THE END
暂无评论内容