用bat写一个定时关机程序

用Windows自带的命令行工具shutdown.exe来编写批处理定时关机程序。下面是一个简单的bat脚本示例:

方法一 设置秒数关机

  1. 打开记事本复制下面信息进去->另存为.bat文件->编码改为ANSI(不然可能会出现乱码)
    @echo off
    echo 请输入关机时间(单位:秒):
    set /p time=
    echo 将在 %time% 分钟后关机。
    shutdown -s -t %time%
    效果:
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
取消方法:win+R然后输入cmd进去命令提示符界面 输入 shutdown -a 回车就取消。

方法二 设置时分秒钟关机

@echo off
set /p hour=请输入小时数(0-23):
set /p minute=请输入分钟数(0-59):
set /p second=请输入秒数(0-59):

if %hour% LSS 0 set hour=0
if %hour% GTR 23 set hour=23
if %minute% LSS 0 set minute=0
if %minute% GTR 59 set minute=59
if %second% LSS 0 set second=0
if %second% GTR 59 set second=59

set /a totalSeconds=%hour%*3600+%minute%*60+%second%
echo 总秒数为:%totalSeconds%

shutdown.exe /s /t %totalSeconds% /f
这段代码用于实现在指定时间之后自动关机的功能。以下是代码的主要逻辑:

  1. 使用 set /p 命令分别从用户那里获取小时数、分钟数和秒数。
  2. 使用 if 命令对输入的数值进行范围限制,确保输入值在合理的范围内。
  3. 使用 set /a 命令计算总秒数,即将输入的小时数、分钟数和秒数转换为秒数相加的结果。
  4. 使用 echo 命令显示计算得到的总秒数。
  5. 使用 shutdown.exe 命令实现关机功能。其中 /s 参数表示关机,/t 参数指定关机的延迟时间(以秒为单位),/f 参数表示强制关闭所有应用程序。

请注意,该代码需要以管理员身份运行才能正常工作。如果没有管理员权限,shutdown.exe 命令将无法执行。
此外,如果想要取消关机操作,可以在关机前使用 shutdown /a 命令来取消关机计划。

猜你喜欢

转载自blog.csdn.net/pxf1828463927/article/details/129681351