我们有时候需要在特定的时间、或者间隔某段时间后执行一个程序来处理问题;如果间隔时间较长,比如一天一次、一周一次,或者需要在某年某月某日某时执行,那么我们用计时器去实现的话,就很不合理了,资源消耗不说,而且还可能发生程序卡死、时间不精确等情况。

windows的定时任务在哪儿(C定时任务之windows任务计划程序)(1)

这一篇我们介绍下面这个方式:不写一行代码,利用Windows自带的任务计划程序来实现定时任务的执行

  1. 按下windows r,输入taskschd.msc回车执行,进入windows任务计划程序
  2. 右键任务计划程序库,可以选择创建任务/创建基本任务,创建任务的话可操作性比较多,这里我们一般采用基本任务就足够了
  3. 填写任务的名称、描述等信息,下一步进入触发器页面,选择执行的时间(段),同样也提供了事件触发(这里如果不是创建的基本任务,可选择性会更多)

windows的定时任务在哪儿(C定时任务之windows任务计划程序)(2)

4.选择完时间后下一步进入选择要触发的事件,这里我们选择启动程序,然后选择我们的程序即可,当然也可以执行批处理或者其他的程序

windows的定时任务在哪儿(C定时任务之windows任务计划程序)(3)

5.最后点击完成即可。

既然我们是写C#的,我们就写一个简单的C#程序。这里建议用控制台来做,有以下两个原因:

  1. 方便设置参数,即上图设置定时任务的同时的添加参数
  2. 一般这样的定时任务都希望无感执行,控制台更方便胜任

写一个简单的demo如下

namespace MyTask { class Program { [STAThread]//加这个执行不弹出黑框(无感执行) static void Main(string[] args) { System.IO.File.AppendAllText("d:\\123.txt", args[0] "---" DateTime.Now); } } }

由简入繁,拿来即用

后续精彩,持续关注

,