随码网随码网

Windows计划任务全攻略:轻松实现自动定时执行任务

Windows计划任务全攻略:轻松实现自动定时执行任务

关于Windows计划任务设置和自动定时执行任务的方法

Windows 自动定时执行任务的几种实现方法

常见的方法有三种:Windows 任务计划程序、Windows Service、SQL Agent Job。这三种方法大多数人都用过,我在这里只做一个简单的介绍和小结,后续,我会用一个轻量型的.Net Windows Service Jobs的作为例子介绍如何定制Windows Service以及如何让Windows Service自动定时执行任务。

我们来看如何使用Windows 任务计划程序创建自动定时执行任务:

界面方式:计算机(右键)->管理,然后就可以打开“计算机管理”界面,在界面的左侧有一个系统工具->任务计划程序,在此我们可以创建定时执行的计划任务,并且可以为每个任务添加触发器和具体的操作。具体的使用方法应该很简单,这里就不再一一介绍。

CMD 命令行方式:主要命令是SchTasks (另外还有AT命令,该命令用来调用或者执行已经存在于Task Schedule列表中的Task)。命令行形式可以用于制作安装和部署包。如果用界面方式的话,安装和部署都不太方便。

SchTasks /?:查看SchTasks命令,SCHTASKS/? 描述:允许管理员创建、删除、查询、更改、运行和中止本地或远程系统上的计划任务。参数列表:/Create创建新计划任务。/Delete删除计划任务。/Query显示所有计划任务。/Change更改计划任务属性。/Run按需运行计划任务。/End中止当前正在运行的计划任务。/ShowSid显示与计划的任务名称相应的安全标识符。/显示此帮助消息Windows 任务计划程序需要具体的任务执行程序(exe,批处理);而通过设置,让Windows来控制具体的执行的具体时间,重复度,触发条件等。我们可以控制的是具体的任务执行程序。当然如果将什么时候定时执行任务,以及如何重复执行,触发条件等都写在程序里,也未尝不可,但是这样的话就抹杀了Windows任务计划程序的特有功能了!

接下来,我们来看一下如何通过Windows Service解决自动定时执行任务的问题。

利用Windows Service解决自动定时执行任务的方案是制作一个Windows Service程序,在Service内部部署好具体的任务程序以及控制任务什么时候执行、如何重复等。他的可控性和自定义空间相比任务计划程序大,但是自己的工作量相对而言就大一些。

有关如何制作Windows Service程序,我在下篇文章中会介绍,这里只介绍如何部署和卸载。部署Windows Service只能通过命令行形式来部署。但是具体的命令有两种:InstallUtil和sc。(也可以在Windows Service的Program启动点中添加自定义的Installer和启动参数来实现不用InstallUtil和sc来安装和卸载,最后还是要通过命令行形式输入运行参数来安装,这个我会在后续的文章中详解如何在Windows Service中添加启动参数和自定义Installer)InstallUtil.exe是.Net Framework自带的工具,一般他的路径在C:WindowsMicrosoft.NETFrameworkversion下。使用方法:installutil[/uninstall][option[…]]assemblyname其中assemblyname必须使用程序集的版本、区域性和公钥标记完全限定程序集名称。SC是系统自带的命令,不需要.Net Framework(当然如果希望运行C#程序,.Net Framework是必须的,所以一般情况下我们都可以用InstallUtil命令来部署和卸载)。以前做开发Service时碰到的一个问题是当我用InstallUtil部署好一个Service但由于程序更新需要卸载后重新部署这个时候就出现用InstallUtil/u无法卸载的情况具体的原因还不太明白但MSD

未经允许不得转载:免责声明:本文由用户上传,如有侵权请联系删除!

赞 ()

评论