批处理bat,设置定时关机

本文介绍了一个用于Windows系统的批处理脚本,该脚本能够实现自动关机功能。通过用户输入倒计时时间(秒),脚本将设置相应的自动关机任务,并记录开始时间和倒计时长度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


@echo off


::取消自动关机
Shutdown -a && echo 提示:已取消自动关机,需要重新设置!|| cls


::节点a
:nodea


::换两行
echo. &echo.


::当前时间
set nowtime=%date:~0,10%  %time:~0,8%
echo 当前时间:%nowtime%


::获取输入的时间
set /p second=请输入倒计时时间(秒): 


::判断是否输入的纯数字
echo %second%|findstr /be "[0-9]*" >nul && goto nodeb || cls & echo 提示:只能输入数字,请重新输入! & goto nodea


::节点b
:nodeb


::设置倒计时自动关机,单位为秒
Shutdown -s -t %second% -c "设置自动关机成功!" 


::记录存入a.txt文件
@echo 开始时间:%date:~0,10%  %time:~0,8%      倒计时:%second%(s)>>a.txt


::清屏
cls 


::窗口倒计时关闭
for /l %%i in (
 9,-1,0
) do (
 echo 提示:设置成功!您的电脑将在 %second%s 后自动关机!
 echo.
 echo.
 echo 本窗口 %%i 秒内关闭!
 ping -n 2 localhost 1>nul 2>nul
 cls
)

绝对的绿色软件。。BAT文件 @echo off & cls & color 27 & mode con cols=70 lines=25 & title [定时关机工具] 今天是:%date:~0,4%年%date:~5,2%月%date:~8,2%日,%time:~0,2%点%time:~3,2% 分%time:~6,5%秒 ::10080是你设定的上限,7天应该够了吧.如果不够,你可以自己更改.. set n=10080 ::这句话在这是没用的.作为一个完整的工具,在打包时会附上shutdown.exe这个程序.单独拷贝这个程序,XP系统才能使用,WIN 2003 或VISTA系统能不能使用,我没有测试过. if exist %windir%\system32\shutdown.exe (goto :home) else (copy %temp%\shutdown.exe %windir%\system32\) :home cls echo. echo 温馨提示:爱机也需休息! echo ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ echo S.定时关机 R.定时重启 A.取消定时 echo. echo G.立即关机 C.立即重启 E.放弃退出 echo. echo M.无倒计时窗口关机 Y.无倒计时窗口重启 echo. set /P a= 请选择操作代号: SET w1=R S A E G C M Y FOR %%B IN (%w1%) DO IF /I "%a%"=="%%B" set flag=1 ECHO. if defined flag ( goto :%a% ) else ( SET /P N= 请选择选项里应有的操作.[Y-继续]: ) IF /I "%N%"=="Y" (GOTO :home) ELSE (exit) :S cls echo. echo. echo. echo ┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓ echo ┃注意:时间必须为纯数字,并且倒计时间不得大于%n%分钟.┃ echo ┃                          ┃ echo ┃因关机时不保存数据,避免损失,倒计时间不得少于1分钟. ┃ echo ┃                          ┃ echo ┃如输入:30,将会在30分钟后关机.会有倒计时窗口,不能关闭┃ echo ┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛ echo. :s1 Set /p time= 请输入关机倒计时间,Q-返回: ECHO. if /i "%time%"=="q" goto :home if %time% lss 1 ( echo 因关机时不保存数据,避免损失,倒计时间不得少于1分钟. echo. echo 如想快速关机,请返回主菜单,[G]键立即关机. echo. goto :s1 ) if %time% lss %n% (goto :gj) else ( echo 注意:时间必须为纯数字,并且倒计时间不得大于%n%分钟. echo. goto :s1) :gj set /a time1=%time%*60 shutdown -s -f -c "你输入的是%time%分钟后关机" -t %time1% goto :q :R cls echo. echo. echo. echo ┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓ echo ┃注意:时间必须为纯数字,并且倒计时间不得大于%n%分钟.┃ echo ┃                          ┃ echo ┃因关机时不保存数据,避免损失,倒计时间不得少于1分钟. ┃ echo ┃                          ┃ echo ┃如输入:31,将会在31分钟后重启.会有倒计时窗口,不能关闭┃ echo ┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛ echo. :r1 Set /p time= 请输入重启倒计时间(分钟),Q-返回: ECHO. if /i "%time%"=="q" goto :home if %time% lss 1 ( echo 因重启时不保存数据,避免损失,倒计时间不得少于1分钟. echo. echo 如想快速重启,请返回主菜单,[C]键立即重启. echo. goto :r1 ) if %time% lss %n% (goto :cq) else ( echo 注意:时间必须为纯数字,并且倒计时间不得大于%n%分钟. echo. goto :r1) :cq set /a time1=%time%*60 shutdown -R -f -c "你
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jigsaw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值