首页 > 批处理+定时任务实现定时休息提醒

批处理+定时任务实现定时休息提醒

前言:俗话说的好,懒是第一生产力,懒是提高生产效率的必要条件。而现今windows是大部分人的第一生产工具,批处理+定时任务这对黄金搭档就是提升生产效率的第一工具。大家在生产过程中经常会遇到各种周期性的重复的工作,比如我现在每天都会更换最新的jar包并重启tomcat,linux服务器我们可以用shell+crontab,而windows我们就可以用批处理+定时任务。今天就用批处理+定时任务实现一个小功能,定时休息提醒。

  批处理(Batch)通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的解释器(通常是COMMAND.COM或者CMD.EXE)解释运行。类似于Unix中的Shell脚本。批处理文件具有.bat或者.cmd的扩展名,其最简单的例子,是逐行书写在命令行中会用到的各种命令。更复杂的情况,需要使用if、for、goto等命令控制程序的运行过程,如同C、Basic等高级语言一样。——来着wiki百科

 

一、生成批处理脚本  

  首先打开notepad,输入脚本,并保存为.bat文件(如restTime.bat),注意编码格式要设置为以ANSI格式编码,否则中文会出现乱码:

@echo 亲,休息时间到了,赶紧站起来走走!
@choice /t 180 /d y /n >nul
@echo 休息结束,赶紧投入工作吧!
@choice /t 2 /d y /n >nul

  @echo XXX:就是显示XXX字符串

  @choice /t 2 /d y /n >nul:就是暂停2s

  非常简单的两句就把需要定时弹出的窗口搞定,大家可以根据自己情况设置每次休息时间。

 

感兴趣的朋友可以看看下面的详解(大家可以尝试在cmd输入看看具体效果,本文不再给出具体用法解释):

  学习任何语言及脚本都要学会怎么查看帮助文档,batch的帮助查看方法:echo /?

  echo:echo可以翻译为回声、共鸣、重复、效仿等,在脚本语言中非常常见。帮助文档中释义为“显示消息,或者启用或关闭命令回显”,显示消息类似于print,命令回显就是是否显示输入的命令。有几种用法如下:

  1、echo:显示当前回显开关状态,echo off或者echo on

  2、echo on/echo off:打开或关闭回显状态

  3、echo 字符串:显示后面的字符串

  4、echo 字符串>d: est.txt :将字符串直接覆盖写入test.txt文件,如不存在该文件将新建该文件

  5、echo 字符串>>d: est.txt :将字符串加在test.txt已有字符串后面

  choice:choice是选择的意思,帮助文档中释义“该工具允许用户从选择列表选择一个项目并返回所选项目的索引”,该命令参数太多,只介绍用到的三个:

  1、/t:timeout,做出默认选择前暂停的秒数,可接受从0-9999的值。如果选择0就不会有暂停,直接选择默认选项。

  2、/d:choice,在x秒后的默认选项。字符必须在/c选项指定的一组选择中,同时必须用/t指定暂停时间。

  3、/n:在提示符中隐藏选项列表。提示前面的消息得到显示,选项依旧处于启用状态。注意,该命令默认选项是Y和N。

  4、>nul:不是choice的参数,加上后可以不显示你输入的选项。个人理解类似于echo中用>写入一个文件,>nul就是写入空文件。

  @:该命令的作用是不关闭当前行的回显,可以看到我们的脚本中每行开始都加上了@,你也可以在首行直接加上echo off,会发现第一行的echo off会被现实出来,这个时候@的作用就体现了,我们在首行加上@echo off就可以实现该脚本。

  

二、开启定时任务

  批处理完成了,怎么来实现周期性的运行该脚本呢?windows自带了非常强大的定时任务功能。进入计算机管理(此电脑右键“管理”),在系统工具->任务计划程序->任务计划程序库中能看到你电脑所有的定时任务,右键可以创建任务,如图1。

                图1

名称输入“定时休息提醒”,在触发器中新建一个触发器,勾选重复任务间隔,选择1小时,持续时间可以选择无限期,如图2。

 

              图2

保存后在“操作”tab中点击新建,在浏览中选择之前编辑好的restTime.bat的脚本,如图3。

                   图3

 

  结语:非常简单的四行代码就完成了一个简易的定时休息提醒功能,这里是弹出命令窗口,大家可以用start命令来开启一个小游戏或者是直接启动屏保(rundll32.exe user32.dll,LockWorkStation),当然在你实际工作中有时候是不能被打断的,时间到后给一个choice让自己选择是否启动屏保更合理,大家可以自己研究一下。

 

转载于:https://www.cnblogs.com/andyshu/p/restTime.html

更多相关:

  • 毕业之际给学校搭建了基于ATS的正向代理缓存服务器,专门用来处理优酷土豆等在线视频流量。通过改写一个浏览器做成在线视频专用浏览器,内置了ATS的代理设置。 用php配合memcacheq和小脚本实现了简单的异步预热功能,在实际运用中安全性请自行考虑完善。 工作方式:PHP页面提交URL——>memcacheq<——shell脚...

  • 好久不写shell脚本,有些生疏。总结下shell的语法,以便后续参考,快速捡起来。 shell 脚本执行的3种方式: 1). ./xx.sh (xx.sh 需要有执行权限) 2). source xx.sh 3). bash xx.sh 变量定义 var=2 //注意:=左右没有空格 变量引用的2种方式 $符号就是变量解引用...

  • 作者:荒原之梦 原文链接:http://zhaokaifeng.com/?p=538 前言: “Ping”属于ICMP协议(即“Internet控制报文协议”),而ICMP协议是TCP/IP协议的一个子协议,工作在网际层。ICMP协议主要用于传输网络是否连通、主机是否可达以及路由是否可用等控制信息。Ping可以回显TTL生存...

  •   Linux 登陆服务器敲命令太多,某时候确实不便,所以就用shell写了一个  我的blog地址: http://www.cnblogs.com/caoguo   一.说明 支持秘密和密钥两种格式用户名和密码都是写文件的,明文保存二.配置 密码文件配置:序号:IP:端口:用户:密码:说明 1:192.168.88.128:22:...

  • 1打开vlc播放器 点击媒体菜单  选择打开网络串流 2输入RTSP播放地址 3点击播放右下角箭头选择串流 4修改为HTTP,点击添加 5设置请求端口和路径 6选择输出格式 完成后即可使用 H5video标签播放  

  • 选择缓冲区和剪切板 不同于Windows,Linux系统里存在两个剪切板:一个叫做选择缓冲区(X11 selection buffer),另一个才是剪切板(clipboard)。 选择缓冲区是实时的,当使用鼠标或键盘选择内容时,内容已经存在于选择缓冲区了,这或许就是选择缓冲区的由来吧。 使用下面的命令查看选择缓冲区的内容:: $ x...

  • 1、按 Ctrl+Shift+P 2、输入install,选择install Package 3、输入vue,选择 vue syntax hightlight    如果上述方法不起作用,可以选择在下面连接中下载文件,手动安装 如何让你的.vue在sublime text 3 中变成彩色?   转载于:https://www...

  • http://www.blogjava.net/wangdetian168/archive/2011/04/12/348651.html   1、Ext.grid.GridPanel 主要配置项: store:表格的数据集 columns:表格列模式的配置数组,可自动创建ColumnModel列模式 autoExpandColum...

  • 部署VMware vSphere 5.5 ################################################################################# ver1.0 2014-09-09 #### 本文内容来自 中国专利信息中心 - 基础系统处 — 张阳## 如有转载,请务必保留...

  • 昨天去面了滴滴,一口气面了三面,考了 promise 和事件循环。之前的猿辅导也考察了这些,几乎所有的大厂中厂都一定会考原生 js 的事件循环队列。今天,我把昨天考察的原题拿出来分析一下。setTimeout浏览器是多线程的,js 是单线程的(因为多线程操作同一个 dom 会有数据不一致的问题),但 js 又支持异步,因此异步就是在...

  • 检查是否安装redis(没有请自行百度安装): phpinfo: 配置thinkphp-queue,没有请执行 composer require topthink/think-queue 加入: 创建 队列 文件: use thinkQueue;class TestQueue {// 测试public function que...

  • 要实现计划任务,首先通过在配置类注解@EnableScheduling来开启对计划任务的支持, 然后在要执行计划任务的方法上注解@Scheduled,声明这是一个计划任务 示例:计划任务执行类 在这个类中的方法上需要@Scheduled注解配合@EnableScheduling使用。 package cn.hncu.p3.p3_ta...

  • cron:计划任务,是任务在约定的时间执行已经计划好的工作,根据配置文件约定的时间来执行特定的任务。 编写测试类继承 IJob ,实现Execute 此方法就是用于定时的任务 配置定时时间: 先创建windows服务,服务创建详情 InstallUitil创建服务 服务创建成功后开起服务即可进行定时任务的执行 定时任务执行结果:...

  • 站立会议:       继续数据库的连接编程。 任务进度:       实现数据的输出。 站立会议照片: 任务看板: 燃尽图: 转载于:https://www.cnblogs.com/cpljlgs/p/5546157.html...