@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. vim打开多个文件、同时显示多个文件、在文件之间切换

    打开多个文件: 1.vim还没有启动的时候: 在终端里输入  vim file1 file2 ... filen便可以打开所有想要打开的文件 2.vim已经启动 输入 :open file 可以再打开 ...

  2. Mars Android 接入指南

    Mars Android 接入指南 https://github.com/Tencent/mars/wiki/Mars-Android-%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8 ...

  3. vue生命周期小总结

    beforeCreate:function(){} //组件实例化之前执行的函数 created:function(){} //组件实例化完毕,但是页面没有显示 beforeMount:functio ...

  4. Javascript处理数组的方法

    一 迭代方法 ES5为数组定义了5个迭代方法,这些方法大大方便了处理数组的任务,支持这些方法的浏览器有 IE9+,Firefox2+,Safari3+,Opera9.5+和Chrome. 1 ever ...

  5. TypeScript基础以及在Vue中的应用

    TypeScript推出已经很长时间了,在Angular项目中开发比较普遍,随着Vue 3.0的即将推出,TypeScript在Vue项目中使用也即将成为很大的趋势,笔者也是最近才开始研究如何在Vue ...

  6. nodeJS从入门到进阶二(网络部分)

    一.网络服务器 1.http状态码 1xx: 表示普通请求,没有特殊含义 2xx:请求成功 200:请求成功 3xx:表示重定向 301 永久重定向 302 临时重定向 303 使用缓存(服务器没有更 ...

  7. SpringCloud之服务注册与发现Eureka+客户端Feign

    前言 SpringCloud 是微服务中的翘楚,最佳的落地方案. Eureka 作为注册中心,是 SpringCloud 体系中最重要最核心的组件之一. Feign 使用接口加注解的方式调用服务,配合 ...

  8. Jmeter学习笔记(二十)——后置处理器XPath Extractor使用

    一.背景 在使用过程某些操作步骤与其相邻步骤存在一定的依赖关系,需要需要将上一个请求的响应结果作为下一个请求的参数. Jmeter中后置处理器正则表达式提取器和XPath Extractor都可以将页 ...

  9. 【转】移植vsftpd到arm linux

    vsftpd即very secure FTP daemon(非常安全的FTP进程),是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(是一种守护进程),可以运行在诸如Linux.BSD. ...

  10. docker管理监控方案

    docker相关管理可分为四类:docker基础功能.docker监控.docker集群管理和docker系统认证管理.docker管理的基础或信息来源都是docker命令行或docker API. ...