windows task scheduler自动任务

工作总是摸鱼,想在电脑上设置一个定时弹窗提醒的程序,每个小时弹个窗提醒一下,如果在摸鱼可以及时终止。预期:

  • 尽量简单:不用另下软件,用系统自带工具实现
  • 少许智能:登录后自动激活,而不是一直在后台挂着

如果只是定时弹窗,可以写个 dos batch,但是需要手动运行,一退出或重启又要重新操作,且要一直开着 cmd 窗口,不优雅。经 Gemini 介绍,考虑用 windows 系统的 Task Scheduler 实现。要做两件事:

  1. 将弹窗命令写成 dos batch 脚本,方便 Task Scheduler 调用;
  2. 在 Task Scheduler 创建 task。

Script

可以调用 Windows 自带的 mshta.exe 创建弹窗:

@echo off
@REM C:\Users\tom\focus_remind.bat
mshta vbscript:msgbox("%time%",64,"Did I focus?")(window.close)

其中 vbscript:msgbox 的参数:

  • 第一个引号内容:弹窗信息,本例用 %time% 显示当前时间;
  • 第二个数字:弹窗的图标样式,可选 0(无)、16(X)、32(?)、48(!)、64(i);
  • 第三个引号内容:弹窗标题,本例用 Did I focus? 提示自己反思过去一个中是专心还是走神。

本例将命令写入脚本 focus_remind.bat 中,放到个人文件夹 C:\Users\tom\ 下。

Gemini 说 mshta.exe 是系统核心组件,从 Windows XP 到 Windows 11 都有,用它创弹窗是个更普适的方案,不同得 msg.exe只在 Windows 10 Pro 见过)和 powershell(Windows 7 以上预装)。

Task

然后在 Task Scheduler 中创建任务,使得:

  • 登录进系统就自动激活此任务;
  • 此任务每一个小时到自动调用一次前文的 focus_remind.bat,弹窗提醒。

Ctrl + R,用 taskschd.msc 呼出 Task Scheduler:

taskschd.msc

点右侧栏 Create Task... 创建任务(Create Basic Task... 也行,但可订制的内容很少),General 栏填基本信息:

General

Triggers 栏设定触发条件:

Triggers

Actions 栏指明要运行 focus_remind.bat

Actions

Conditions 指定运行任务的条件:

Conditions

Settings 一些另外的设定:

Settings

点右下角 OK 创建完成,然后就能在 Task Scheduler 界面中看见了。可以点右边栏的 Run 手动执行试下成不成功:

Run

One More Thing

iOS 的 Shortcuts、Automation 也可以创建小程序,本来想写个插件用来搜索某文件夹内文本文件的内容,但没实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值