通过 TaskScheduler 新建windows计划

需要引用Microsoft.Win32.TaskScheduler.dll 类库
记得using Microsoft.Win32.TaskScheduler;  

        /// <summary>
        /// 创建windows计划任务
        /// </summary>
        /// <param name="taskName">任务名称</param>
        /// <param name="stateTime">执行时间</param>
        public static void CreateTask(string taskName, DateTime stateTime)
        {
            try
            {
                // 计划任务服务
                TaskService ts = new TaskService();

                // 创建一个计划任务
                TaskDefinition td = ts.NewTask();
                td.RegistrationInfo.Description = "DTU执行未执行过的任务";  //任务描述
                td.RegistrationInfo.Author = "EcpDtu";            //任务作者

                //时间执行时间
                TimeTrigger tt = new TimeTrigger();
                tt.StartBoundary = DateTime.Now.AddSeconds(5);//stateTime.AddHours(4); //开始时间
                tt.EndBoundary = DateTime.Now.AddSeconds(10);//stateTime.AddHours(8);   //结束执行时间
                td.Triggers.Add(tt);                      //将触发器添加到任务中

                //创建一个执行操作
                var exe = new ExecAction("RunTask.exe", null, ConfigurationManager.AppSettings["RunTask_path"]);
                //添加执行操作到计划任务的操作中
                td.Actions.Add(exe);

                //注册计划任务
                ts.RootFolder.RegisterTaskDefinition(taskName, td);
            }
            catch (Exception ex)
            {
                MsgHelper.ErrorWriteLog("创建计划任务错误_CreateTask(string name)" + ex.Message);
            }
        }

        /// <summary>
        /// 查询计划任务
        /// </summary>
        /// <param name="taskName"></param>
        public static void RetrieveTestTask(string taskName)
        {
            // 计划任务服务
            TaskService ts = new TaskService();
            Task t = ts.GetTask(taskName);
            if (t != null)
            {
                Console.WriteLine("Task Name={0}", t.Name);
                Console.WriteLine("Task Execution Time={0}", t.LastRunTime);
                Console.WriteLine("Task Last Run Result={0}", t.LastTaskResult);
                Console.WriteLine("Task Next Execution Time={0}", t.NextRunTime);
            }
        }

        /// <summary>
        /// 删除计划任务
        /// </summary>
        public static void DeleteTestTask(string taskName)
        {
            // 计划任务服务
            TaskService ts = new TaskService();
            ts.RootFolder.DeleteTask(taskName);
        }

通过 TaskScheduler 新建windows计划

时间: 2024-11-06 08:21:30

通过 TaskScheduler 新建windows计划的相关文章

windows计划任务+批处理文件实现oracle数据库的定时备份

1.创建批处理文件 @echo off REM ########################################################### REM # Windows Server 2008下Oracle数据库自动备份批处理脚本 REM ########################################################### set CURDATE=%date:~0,4%%date:~5,2%%date:~8,2% set hour=%t

Windows 计划任务

什么是Windows 计划任务 简单来说,就是能够预先配置一个任务让电脑在指定的时间或是周期去自己主动执行. 对于一些须要反复执行的任务设置这个会比較方便. 这个任务能够是一个exe 的应用程序, 能够是一段bat 脚本文件, 也能够是一段perl 的程序, 等等 怎样设置计划任务 方式一: 開始->程序->附件->系统工具   打开"计划任务"窗体 方式二: 在执行中输入 tasks 加入方式就非常easy 1.  右键单击空白. 进行加入: 2. 起个名字.邮件单

VS2017新建windows控制台程序打印中文乱码问题

最近刚换上VS2017,由于手头又要做个MFC的程序,所以写控制台程序做功能测试,然后发现居然乱码了. 于是用VS2017新建windows控制台应用程序,在main函数种加一句printf("你好");后,运行结果依然乱码 用notapad++打开该文件后,点击菜单栏的编码一项,发现是UTF-8无BOM格式编码,然后改成以ANSI格式编码后 也就是说VS是用UTF-8来编码代码文件的,编译出的程序中字符串也是按照UTF-8编码的,而控制台却是按照ANSI编码来理解的. 打个比方,A用

不需要密码的windows计划任务设置

使用windows计划任务定时做些事情,确实非常方便,但创建任务时老是需要设置密码,否则在执行任务时会报80070005的系统错误导致任务无法执行. 有时windows没设密码或当账户修改密码就必须修改任务属性,这些都很麻烦,但我们可也使用“NT AUTHORITY\SYSTEM”账户来执行任务就不需要密码了. SYSTEM 用户和使用普通管理员用户对于文件有相同的特权.但是它们有不同的功能.系统帐户可以由 Windows 下运行的服务和操作系统使用.有许多服务和Windows 进程需要能够在内

windows计划任务后台定时执行java的jar文件

前提是你已经安装jdk windows计划任务正常情况下不能执行jar,我们用vbs调用就可以 vbs调用jar的代码: Set ws = CreateObject("Wscript.Shell") ws.run "cmd /c C:\Users\wuGroup\Desktop\mysql_back.jar",vbhide jar包路径和以上代码的路径对应起来即可 下面可以参考http://blog.csdn.net/kakarot5/article/details

通过windows计划任务和Dos批处理备份文件

目的: 1.计划每天每半小时备份1次,每天8点开始,执行12小时,20点结束. 2.定期删除历史备份文件,由于每天有多个时间段备份,删除前只保留当天最后一个备份. 说明: 由于删除的操作只有每天第一次执行时才真正起作用,可将以下命令拆分成两个计划任务分别执行,当然也可一起执行.可具体根据执行的效率定夺. 实施: 1.将以下代码保存为back.bat,修改源文件路径和备份目录 @echo off rem 备份指定目录下的文件 set "Ymd=%date:~,4%-%date:~5,2%-%dat

windows 计划任务执行python脚本

1.  查找并打开Windows计划任务 2. 创建任务 3. 输入名称 4. 通过触发器设置运行时间或周期 5. 通过操作,设置运行的脚本 a. 操作选择'启动程序' b. 程序或脚本选择 python c. '参数'中填写命令行执行脚本时,需要使用的参数 d. '起始于'填写脚本所在的文件目录(注意路径结尾要写上'\')

windows计划任务

windows计划任务 例子:开发一个定时任务,每天的凌晨1点,打开浏览器,访问百度页面. 1.创建定时执行的文件,start.bat,插入代码start http://www.baidu.com2.开始–>搜索"任务计划程序"–>打开"任务计划程序"3.创建基本任务4.选择触发器,"每天"5.设置每天的凌晨1点,执行计划的任务6.设置任务类型,打开程序7.设置计划执行的程序8."完成",计划任务程序添加完毕9.到

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

最近开发了工具,带界面的,需要定时执行的,为了方便直接用Windows计划任务做定时了.跑了一段时间发现,进程中也有,就是看不到程序的界面,进程的执行貌似也阻塞了. 从网上查了下,发现时启动方式的问题,原来选择的不管是否登录都要运行,导致窗口类的应用启动出现问题,设置为只在登录时启动就好了.当然服务器上的用户不能注销.