@ECHO off REM 不显示后续命令行及当前命令行 

 TITLE Shutdown countdown REM 设置脚本标题

 COLOR 0A REM 设置脚本 背景色为黑色 前景色为淡绿色

 :start REM 标签引导 开始 

 CLS REM 清空命令行界面

 SET /p time_s=Enter the second number: REM 命名一个变量time_s 并使用 /p 打印右边的字符 等待用户输入 输入完毕后将输入结果保存到 变量 time_s

 ECHO %time_s%|FINDSTR  /BE "[0-9]*" > NUL || GOTO start  REM 通过管道 输出变量 time_s 给 查找字符串命令 判断是否为纯数字 将结果重定向到一个空设备 失败的话执行后面的跳转代码 跳转到 标签引导 开始 

 IF %time_s% EQU 0 GOTO clstime REM 如果变量 time_s 等于 0 跳转到 标签引导 清除关机倒计时计划

 IF %time_s% EQU 1 GOTO exitcmd REM 如果变量 time_s 等于 1 跳转到 标签引导 退出命令行

 IF %time_s% LSS 60 ( REM 如果 变量 time_s 小于 60
ECHO You're sure to shut down in a short time REM 输出提示语句 询问用户是否真的需要设置短时间内关机
CHOICE REM 等待用确认 Y 或 N 并将用户输入的 Y 或 N 的索引 保存到 错误码值 ERRORLEVEL
IF ERRORLEVEL 2 GOTO start REM 如果 错误码值 大于等于 2 即用户输入了 N 则跳转到 标签引导 开始 注意索引是从 1 开始算的
IF ERRORLEVEL 1 GOTO settime REM 如果 错误码值 大于等于 1 即用户输入了 Y 则跳转到
) ELSE IF %time_s% GEQ 60 ( REM 如果 变量 time_s 大于等于 60 则执行小括号内的代码
GOTO settime REM 跳转到 标签引导 设置关机倒计时计划
) :clstime REM 标签引导 清除关机倒计时计划
shutdown.exe -a REM 清除关机倒计时计划
GOTO start REM 跳转到 标签引导 开始 重新输入一个倒计时时间 :settime REM 标签引导 设置关机倒计时计划
shutdown.exe -s -t %time_s% REM 设置关机倒计时计划 -t 参数就是用户输入的整数
ECHO success REM 输出成功提示
PAUSE REM 等待用户输入任意键 :exitcmd REM 标签引导 退出命令行
exit REM 退出命令行

程序意图:

用户输入 0 时 清除关机计划

用户输入 1 时 退出脚本

用户输入 2到59 内 任意数字 时 询问用户是否确定设置如此短的关机倒计时 防止误操作 用户输入 Y 则 设置关机计划 输入 N 则 重新输入 数字

用户输入 大于等于60 的数字时 直接设置关机计划

其它说明:

REM 是单行注释的意思

命令行中输入 command/? 可以查看该命令的说明 例如 REM/?

如果程序跑不通,则将所有的注释清除掉,因为它们都是中文

.bat批处理命令之设置关机倒计时脚本的更多相关文章

  1. 采用.bat批处理命令快速设置Java环境变量

    背景: java课程培训,每次到机房需要重新安装JDK,每次都采用图形界面进行操作比较麻烦(慢),于是在网上查了一下CMD命令设置系统环境变量的方法,再次记录下来. 设置方法: 1.找到JDK安装路径 ...

  2. .bat批处理命令的介绍

    HUC = = D组 http://www.cnhonkerarmy.com/ 63707869 =====================================开始============ ...

  3. 将bat批处理命令文件固定到任务栏

    将bat批处理命令文件固定到任务栏第一种方法:使用链接工具http://www.xstui.com/read/3451.在任务栏点击右键,移动到工具栏,勾选链接工具2.你会在通知栏左侧看到链接字样,将 ...

  4. BATCH(BAT批处理命令语法)

    bat语法备忘扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件[@more@] bat语法备忘扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的 ...

  5. Windows系统批处理命令实现计划关机

    操作步骤: 1.新建一个文本文件,粘贴下面代码,保存为shutdown.bat @echo off echo 请输入延迟关机分钟数 echo 小于1分钟将视为立即关机,负数为取消关机 set /p t ...

  6. mysql 批处理命令执行多个sql脚本

    方法1 若有SQL脚本a.sql, b.sql, 其目录在f盘根目录下, 则可再写一个SQL脚本c.sql(假设其目录也在f盘根目录下, 也可以在其他路径下)如下: source f:/a.sql; ...

  7. bat批处理命令及解释

    相关原文链接 一.批处理概念 批处理文件:包含DOS命令的可编辑可执行文件 批处理:可以对某一对象批量操作的文件 二.批处理命令简介 命令1~10 1 echo 和 @ 回显命令 @ #关闭单行回显 ...

  8. 使用bat批处理命令打包maven项目

    使用批处理命令打包java项目,给我们发布war或jar包带来了很大的便利,附上代码,以作留存. ::huap-parent ::common-parent ::market-parent ::cus ...

  9. bat批处理命令语法总结

    ::1. 关闭回显表示不显示命令本身只显示输出部分 @echo off ::2. 设置变量注意等号间不能有空格 set num=10 ::3. 使用变量 echo %num% ::4. call 调用 ...

随机推荐

  1. C# 的ToString 常用方法

    货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025E 科学型 25000.ToString(&q ...

  2. Mybatis中使用association及collection进行自关联示例(含XML版与注解版)

    XML版本: 实体类: @Data @ToString @NoArgsConstructor public class Dept { private Integer id; private Strin ...

  3. Matlab迭代器模式

    迭代器(Iterator)模式,又叫做游标(Cursor)模式.提供一种方法访问一个容器(container)或者聚集(Aggregator)对象中各个元素,而又不需暴露该对象的内部细节.在采用不同的 ...

  4. pandas-05 map和replace操作

    # pandas-05 map和replace操作 map可以做一个映射,对于操作大型的dataframe来说就非常方便了,而且也不容易出错.replace的作用是替换,这个很好理解. import ...

  5. jquery实现弹出层完美居中效果

    代码如下: showDiv($("#pop"));function showDiv(obj){ $(obj).show(); center(obj); $(window).scro ...

  6. springboot中modbus使用

    pom.xml配置: false true ias-snapshots Infinite Automation Snapshot Repository true false ias-releases ...

  7. OpenStack共享组件-RabbitMQ消息队列

    1. MQ 全称为 Message Queue, 消息队列( MQ ),是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们. 消息 ...

  8. MongoDB 分片问题汇总

    分片是MongoDB的扩展方式,通过分片能够增加更多的机器来用对不断增加的负载和数据,还不影响应用. 1.分片简介 分片是指将数据拆分,将其分散存在不同机器上的过程.有时也叫分区.将数据分散在不同的机 ...

  9. 微信小程序~设置tabBar后,wx.navigateTo不能跳转

    当wx.navigateTo跳转链接跟app.json中设置的tabbar中跳转链接一样时,wx.navigateTo就不能跳转可以改为wx.switchTab 1.当app.json中设置了tabb ...

  10. zabbix-agent主动模式和proxy

    一.zabbix代理模式,缓解服务端压力zabbix_proxy.conf配置如下 more zabbix_proxy.conf | grep -v ^# | grep -v ^$ Server=za ...