zoukankan      html  css  js  c++  java
  • 【熟能生巧】Windows 倒计时脚本

    问题引出

    工作中习惯使用番茄时间法则,把工作时间切分为40分钟左右的一个个小块然后安排任务。这里用到了倒计时器,一般有几种形式:

    • 手机倒计时
    • 浏览器插件
    • 桌面软件

    手机倒计时在静音模式下依然会发出声响,适合在家一个人的时候使用。浏览器插件不会跨窗口弹出提示,适合浏览器使用较多的时候使用。桌面软件是个不错的选择,但是已有的一些软件设计上不够简洁,而且有些还需要付费。

    由此,便想到自己写一个简单的倒计时器。

    解决思路

    在Windows系统下,使用Shell脚本(timer.sh)读取输入时间,并开始倒计时。当时间到时,调用Bat脚本(alert.bat)创建临时VBScript脚本(MessageBox.vbs),跳出弹窗提示,并播放音效。

    timer.sh

    clear
    
    # get input for minutes
    echo -n "Enter countdown minutes and press [ENTER]: "
    read minutes
    
    # set default value
    if echo "$minutes" | egrep -q '^-?[0-9]+$'; then 
        echo "Input is: $minutes."
    else 
        minutes=40
    fi
    seconds=$minutes*60
    
    # start countdown
    for ((i=$seconds;i>0;i--)); do
      seconds_remaining=$((i%60))
      minutes_remaining=$((i/60))
      sleep 1 &
      printf "Time Remaining: $minutes_remaining:$seconds_remaining 
    "
      wait
    done
    
    start / alert.bat
    
    clear
    

    alert.bat

    :: hide all output messages
    @echo off
    echo off
    
    :: play sound
    set "file=C:Temp	est-workspacecmd-timerding.mp3"
    ( echo Set Sound = CreateObject("WMPlayer.OCX.7"^)
      echo Sound.URL = "%file%"
      echo Sound.Controls.play
      echo do while Sound.currentmedia.duration = 0
      echo wscript.sleep 100
      echo loop
      echo wscript.sleep (int(Sound.currentmedia.duration^)+1^)*1000
    ) > sound.vbs
    start /min sound.vbs
    
    :: show message box
    cscript C:Temp	est-workspacecmd-timerMessageBox.vbs > nul
    
    :: delete the sound scipt
    del sound.vbs
    
    exit
    

    MessageBox.vbs

    messageText = "Time is up!"
    MsgBox messageText, vbSystemModal
    

    如何运行

    • 设置三个脚本和音效的目录,例子中是放在C:Temp est-workspacecmd-timer
    • timer.sh,根据提示输入时间,default是40分钟。
  • 相关阅读:
    指针与强制类型转换
    String 转Clob
    Oracle数据类型对应Java类型
    Oracle常见的问题
    面对批量更新之字符串的拼接
    java使用sigar 遇到问题的解决方案
    关于IE8以上 不引人css 症状
    java Springmvc ajax上传
    再也不要看到Eclipse万恶的arg0,arg1提示
    TextView实现跑马灯效果
  • 原文地址:https://www.cnblogs.com/maxstack/p/9634395.html
Copyright © 2011-2022 走看看