1. 程式人生 > >批處理+定時任務實現定時休息提醒

批處理+定時任務實現定時休息提醒

man window tom img 實現 高級語言 回聲 ice spa

言:俗話說的好,懶是第一生產力,懶是提高生產效率的必要條件。而現今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

[email protected] XXX:就是顯示XXX字符串

[email protected] /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:\test.txt :將字符串直接覆蓋寫入test.txt文件,如不存在該文件將新建該文件

  5、echo 字符串>>d:\test.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會被現實出來,[email protected],[email protected] off就可以實現該腳本。

  

  批處理完成了,怎麽來實現周期性的運行該腳本呢?windows自帶了非常強大的定時任務功能。進入計算機管理(此電腦右鍵“管理”),在系統工具->任務計劃程序->任務計劃程序庫中能看到你電腦所有的定時任務,右鍵可以創建任務,如圖1。

技術分享

                圖1

名稱輸入“定時休息提醒”,在觸發器中新建一個觸發器,勾選重復任務間隔,選擇1小時,持續時間可以選擇無限期,如圖2。

技術分享

              圖2

保存後在“操作”tab中點擊新建,在瀏覽中選擇之前編輯好的restTime.bat的腳本,如圖3。

技術分享

                  圖3

  結語:非常簡單的四行代碼就完成了一個簡易的定時休息提醒功能,這裏是彈出命令窗口,大家可以用start命令來開啟一個小遊戲或者是直接啟動屏保(rundll32.exe user32.dll,LockWorkStation),當然在你實際工作中有時候是不能被打斷的,時間到後給一個choice讓自己選擇是否啟動屏保更合理,大家可以自己研究一下。

批處理+定時任務實現定時休息提醒