当然,实现定时任务有更好的操作方式,比如
方式一:
asp.net mvc+quartz.net +corn +webapi,asp.net mvc做任务管理的平台,使用CronTrigger做定时触发,quartz.net做定时执行控制,webapi实现执行逻辑
方式二:
老生常谈的一种,windows服务(开机自启)+定时器(timer,quartz.net等)+webapi(或者其他实现执行逻辑)
最近在做cs,timer实现时间的控制并不精确,决定以windows计划实现,先介绍一下mshta吧:

Mshta
它支持命令行参数,可以接收JS和VBS的方法。
例子如下:

//JS,要以vbscript:开头,实现不打开浏览器显示hello world!
mshta vbscript:window.execScript("alert('hello world!');","javascript")(window.close) //VBA,要以javascript:开头,实现不打开窗体显示hello world!
mshta javascript:window.execScript("msgBox('hello world!'):window.close","vbs")

WebApi

创建一个WebApi即可,假设路径为http://localhost:22673/api/SendMail/SendToLeader,需要支持HttpGet

那么在重建windows执行计划时,在操作--选择启动程序,可参照如下:

//cmd执行如下,在浏览器打开连接
explorer http://localhost:22673/api/SendMail/SendToLeader

不打开浏览器,可参照如下:

//cmd命令下,可通过执行如下语句实现逻辑控制,不打开浏览器
//直接使用mshta作为程序文件可以
//创建bat文件作为程序文件也可以
mshta vbscript:createobject("wscript.shell").run("""iexplore"" http://localhost:22673/api/SendMail/SendToLeader",0)(window.close)

webapi + windows计划 + mshta 实现定时执行任务的更多相关文章

  1. mysql计划任务每天定时执行

    代码例子:CREATE EVENT `course_listener` ON SCHEDULE EVERY DAY STARTS '2012-07-18 00:00:00' ON COMPLETION ...

  2. Windows计划任务执行时不显示窗口的问题

    最近开发了工具,带界面的,需要定时执行的,为了方便直接用Windows计划任务做定时了.跑了一段时间发现,进程中也有,就是看不到程序的界面,进程的执行貌似也阻塞了. 从网上查了下,发现时启动方式的问题 ...

  3. windows调起git bash执行sh脚本定时统计git仓库代码量

    本来挺简单的一个东西硬是弄了两天 心力交瘁 找了网上不少资料 整理一下发给大家 首先是统计每个人的代码量的git命令 在网上找的 我这里做了以下修改 git log --format='%aN'|so ...

  4. VBS调用OUTLOOK发送邮件,windows计划任务定时拉起VBS调用OUTLOOK发送邮件

    OUTLOOK有延迟传递功能,可延迟传递的发送邮件在功能设计时(mircosoft的support帮助页的解释)就是邮件发送时的时间而不是邮件发送成功后的时间.比如早上10点发一封11点后的延迟传递邮 ...

  5. 通过MSSQl作业定时执行批处理BAT文件

    前言 有些时候,我们可能会需要定时执行一下批处理来达到一定的目的,比如Oracle数据库的定时备份,当然Oracle也可以通过Rman实现定时备份.我们大多数的时候是通过操作系统的计划任务实现定时执行 ...

  6. Windows Server 2008中使用计划任务定时执行BAT bat进行PHP脚本的执行

    Windows Server 2008中使用计划任务定时执行BAT bat进行PHP脚本的执行 2016年01月03日 17:36:00 持之以恒 阅读数:5520 标签: windows定时任务.b ...

  7. Windows Server 2008通过计划任务定时执行bat文件

    前段时间在Windows Server 2008安装了一套基于MySQL数据库的软件,处于数据安全的考虑,希望每天能够自动进行数据库备份.我在别人脚本的基础上自己写了一个数据库备份的bat脚本,双击该 ...

  8. 解决Windows Server 2008R2通过计划任务定时执行bat文件,显示成功但实际未执行

    前段时间在Windows Server 2008安装了一套基于MySQL数据库的软件,处于数据安全的考虑,希望每天能够自动进行数据库备份.我在别人脚本的基础上自己写了一个数据库备份的bat脚本,双击该 ...

  9. 【定时任务|开机启动】Windows Server 2008/2012 计划任务配置(任务计划程序)每分钟执行BAT

    打开计划任务快捷方式(在 “管理工具”内): C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools\Tas ...

随机推荐

  1. 博弈--ZOJ 3084 S-Nim(SG)

    题意: 首先输入K 表示一个集合的大小  之后输入集合 表示对于这对石子只能去这个集合中的元素的个数 之后输入 一个m 表示接下来对于这个集合要进行m次询问  之后m行 每行输入一个n 表示有n个堆  ...

  2. UVA 10328 - Coin Toss dp+大数

    题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_proble ...

  3. ZOJ 3946 Highway Project 贪心+最短路

    题目链接: http://www.icpc.moe/onlinejudge/showProblem.do?problemCode=3946 题解: 用dijkstra跑单元最短路径,如果对于顶点v,存 ...

  4. 第三章 ServerSpcket用法详解

    构造ServerSocket ServerSocket的构造方法如下: ServerSocket() //Creates an unbound server socket. ServerSocket( ...

  5. http://deepdish.io/2015/04/28/creating-lmdb-in-python/

    http://deepdish.io/2015/04/28/creating-lmdb-in-python/

  6. Qt使用QNetworkAccessManager实现Ftp操作

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt使用QNetworkAccessManager实现Ftp操作     本文地址:http: ...

  7. Ubuntu 下升级 php

    起因: 在现有的 Apache + PHP 环境下,增加一个 PHP Extension 扩展时,遇到错误: Unable to initialize moduleModule compiled wi ...

  8. PHP《将画布(canvas)图像保存成本地图片的方法》

    用PHP将网页上的Canvas图像保存到服务器上的方法 2014年6月27日 歪脖骇客 发表回复 8 在几年前HTML5还没有流行的时候,我们的项目经理曾经向我提出这样一个需求:让项目评审专家们在评审 ...

  9. HDU4681_String

    这个题目是这样的. 给你三个字符串A,B,C,(C一定是A和B的一个公共子序列). 现在要求你构造出一个串D,使得D同时为A和B的子序列,且C是D的一个连续子串.求D的最大可能长度. 很简单的一个DP ...

  10. bzoj1272 Gate Of Babylon(计数方法+Lucas定理+乘法逆元)

    Description Input Output Sample Input 2 1 10 13 3 Sample Output 12 Source 看到t很小,想到用容斥原理,推一下发现n种数中选m个 ...