【简单bat】写一个定时关机的批处理程序

这篇具有很好参考价值的文章主要介绍了【简单bat】写一个定时关机的批处理程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

感谢我那可爱的GPT助手对代码的优化工作。文章来源地址https://www.toymoban.com/news/detail-678881.html

@echo off
REM Author: YooooungLee TEL 155-****-9552

echo 欢迎使用自动关机计划设置脚本!by LiYang
echo.

:choose_action
set /p "action_choice=请选择要执行的操作(输入1设置定时关机任务,输入2删除定时关机任务):"

if "%action_choice%"=="1" (
    echo.
    echo -- 设置定时关机任务 --
    echo.
    REM 设置定时关机任务脚本
    goto set_shutdown_task
)

if "%action_choice%"=="2" (
    echo.
    echo -- 删除定时关机任务,如提示“错误:拒绝访问”,请退出后,以管理员权限重新运行程序 --
    echo.
    REM 删除定时关机任务脚本
    goto delete_shutdown_task
)

echo 错误:无效的选项,请输入1或2来选择操作。
echo.
pause
goto choose_action

:set_shutdown_task
:: 之前完成的设置定时关机任务的脚本
setlocal enabledelayedexpansion

:input_time
set /p shutdown_time=请输入每日关机时间(格式为HH:mm,例如 20:00 表示晚上8点):

rem 检查输入的时间格式是否正确
for /f "tokens=1,2 delims=:" %%a in ("%shutdown_time%") do (
    set "hour=%%a"
    set "minute=%%b"
)

rem 检查小时和分钟是否都是数字
echo %hour% | findstr /r "[0-9]" >nul
if %errorlevel% neq 0 (
    echo 错误:输入的时间格式不正确,请重新输入。
    goto input_time
)
echo %minute% | findstr /r "[0-9]" >nul
if %errorlevel% neq 0 (
    echo 错误:输入的时间格式不正确,请重新输入。
    goto input_time
)

rem 检查小时和分钟是否在合法范围内(小时:00到23,分钟:00到59)
if %hour% lss 0 (
    echo 错误:输入的小时值不能小于0,请重新输入。
    goto input_time
)
if %hour% gtr 23 (
    echo 错误:输入的小时值不能大于23,请重新输入。
    goto input_time
)
if %minute% lss 0 (
    echo 错误:输入的分钟值不能小于0,请重新输入。
    goto input_time
)
if %minute% gtr 59 (
    echo 错误:输入的分钟值不能大于59,请重新输入。
    goto input_time
)

echo 正在设置每日 %shutdown_time% 自动关机...
echo 请勿关闭此窗口,否则设置将失效.

:: 删除之前设置的同名自动关机任务(如果存在)
schtasks /delete /tn "每日自动关机" /f >nul 2>&1

:: 创建新的自动关机任务
schtasks /create /tn "每日自动关机" /tr "shutdown /s /f /t 0" /sc daily /st %shutdown_time%

echo 每日 %shutdown_time% 自动关机任务设置完毕。
echo 可以双击此脚本再次设置计划任务或手动删除计划任务。
pause
goto :EOF

:delete_shutdown_task
:: 删除定时关机任务的脚本
echo 正在删除之前设置的每日自动关机任务...
schtasks /delete /tn "每日自动关机" /f
echo 已删除之前设置的每日自动关机任务。
pause
goto :EOF

到了这里,关于【简单bat】写一个定时关机的批处理程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Shell脚本中文英文多语言国际化和命令行批处理(bash sh cmd bat)中定义函数的简单写法

    有时候为了方便别人使用,我们会选择去编写各种各样的命令行脚本:给Windows用户编写 .bat cmd批处理脚本,给macOS、Linux用户编写 .sh bash shell脚本。 面向国内用户当然应当首选中文作为脚本的显示语言,如果还要支持海外用户使用,那么能提供国际化多语言( i18n )支持那是

    2024年02月08日
    浏览(43)
  • 用bat写一个定时关机程序

    用Windows自带的命令行工具shutdown.exe来编写批处理定时关机程序。下面是一个简单的bat脚本示例: 方法一 设置秒数关机 打开记事本复制下面信息进去-另存为.bat文件-编码改为ANSI(不然可能会出现乱码) @echo off echo 请输入关机时间(单位:秒): set /p time= echo 将在 %time% 分钟后

    2024年02月04日
    浏览(33)
  • 【bat】批处理脚本大全

    目录 1.概述 2.变量 3.运算符 3.2.重定向运算符 3.3.多命名运算符 3.4.管道运算符 4.命令 4.1.基本命令 4.2.参数传递 4.3.查看脚本内容 4.4.注释 4.5.日期和时间 4.6.启动脚本 4.7.调用其他bat 4.8.任务管理 4.8.1.任务列表查看 4.8.2.任务终止 4.9.文件夹 4.10.关机 4.11.环境变量 4.12.目录 4.12.1

    2024年02月04日
    浏览(44)
  • BAT 批处理脚本教程

    第一节 常用批处理内部命令简介 批处理定义:顾名思义,批处理文件是将一系列命令按一定的顺序集合为一个可执行的文本文件,其扩展名为BAT或者CMD。这些命令统称批处理命令。 小知识:可以在键盘上按下Ctrl+C组合键来强行终止一个批处理的执行过程。 了解了大概意思后

    2024年02月02日
    浏览(40)
  • Windows 批处理(bat) findstr命令使用教程

    结果: 详细参数列表 参数 参数说明 /B 在一行的开始配对模式。 /E 在一行的结尾配对模式。 /L 按字使用搜索字符串。 /R 将搜索字符串作为一般表达式使用。 /S 在当前目录和所有子目录中搜索匹配文件。 /I 指定搜索不分大小写。 /X 打印完全匹配的行。 /V 只打印不包含匹配

    2024年02月10日
    浏览(59)
  • Windows bat 批处理 日期时间格式化

    有一个批处理脚本,脚本中根据当前日期,动态的生成日志文件, 如:当前是 2023年06月20日,我希望生成的日志文件名为:XX_20230620.log Windows 在批处理中 获取日期和时间的方式如下: echo %time% 输出的时间格式: HH:MM:SS.NN HH :时 MM :分 SS :秒 NN :厘秒(注意不是毫秒,1秒

    2024年02月11日
    浏览(55)
  • 超详细 批处理文件脚本(bat) 教程(持续更新)

     目录 前言 (1)使用echo输出字符串 (2)使用echo拼接字符串 i)没有变量,直接拼接 ii)有变量,拼接变量  (3)只想打印结果,不想显示回显,可以用@echo off (4)pause 作用是将dos界面暂停关闭 (5)title标识符,用来设置dos的标题 (6)rem用于注释,bat脚本

    2024年02月02日
    浏览(73)
  • 快速修改分辨率 Windows bat 批处理

    首先需要两个GitHub上的开源项目 https://github.com/imniko/SetDPI/releases 这个下载realese里的 SetDpi.exe 直链:https://github.com/imniko/SetDPI/releases/download/v1.0/SetDpi.exe https://github.com/RickStrahl/SetResolution 这个直接在仓库里有binary二进制文件 sr.exe 直链:https://github.com/RickStrahl/SetResolution/blob/mast

    2024年02月09日
    浏览(33)
  • windows bat批处理基础命令学习教程

    1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令。可以使用任何文本文件编辑工具创建和修改。 2.批处理是一种简单的程序,可以用 if 和 goto 来控制流程,也可以使用 for 循环。 3.批处理的编程能力远不如C语言等编程语言,也十分不规范。 4

    2024年02月06日
    浏览(38)
  • .bat 批处理 - 查看 MySQL 状态然后启动或关闭

    我的 MySQL 服务名为 MySQL80,具体的以实际为准:

    2024年02月07日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包