前言:俗话说的好,懒是第一生产力,懒是提高生产效率的必要条件。而现今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让自己选择是否启动屏保更合理,大家可以自己研究一下。