コードでスケジューラを管理したい場合は、Quartz.NET を参照してください: http://quartznet.sourceforge.net/
このライブラリは、ジョブとトリガーの作成を提供します。
例 (直接: http://quartznet.sourceforge.net/tutorial/lesson_3.htmlから):
// construct a scheduler factory
ISchedulerFactory schedFact = new StdSchedulerFactory();
// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();
// construct job info
JobDetail jobDetail = new JobDetail("myJob", null, typeof(DumbJob));
// fire every hour
Trigger trigger = TriggerUtils.MakeHourlyTrigger();
// start on the next even hour
trigger.StartTime = TriggerUtils.GetEvenHourDate(DateTime.UtcNow);
trigger.Name = "myTrigger";
sched.ScheduleJob(jobDetail, trigger);
これは、コンソール アプリケーションを継続的に実行する必要があることを意味し、ジョブにはあまり適していません。
オプション 1. コンソール アプリケーションを実行するタスク スケジューラ (非常に簡単) を介してタスクを追加します。タスクの例を参照してください: http://www.sevenforums.com/tutorials/12444-task-scheduler-create-new-task.html
オプション 2. Quartz.NET や .NET のTimerクラスなどのライブラリを使用してジョブをスケジュールし、バッチ操作を実行する Windows サービス (それほど複雑ではありません) を作成します。Windows サービスの作成については、http://msdn.microsoft.com/en-us/library/zt39148a.aspxを参照してください。
オプション 3. コンソール アプリケーションに Quartz.NET や /Net のTimerクラスなどのスケジュール ライブラリを実装させ、それをサービスとして実行します (もう少し複雑です):実行可能ファイルから Windows サービスを作成します。