加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – 如何指定创建计划任务的位置?

发布时间:2020-12-14 00:20:04 所属栏目:Windows 来源:网络整理
导读:可能SCHTASKS中有一个选项来定义实际创建预定作业的位置吗? 我建议不要调用SCHTASKS,而是在COM类TaskScheduler周围使用.Net包装器,您可以通过它与 Windows任务计划程序进行交互.它需要更多的代码,但提供了丰富的属性和对任务的良好控制.这样做可以使用ITask
可能SCHTASKS中有一个选项来定义实际创建预定作业的位置吗?
我建议不要调用SCHTASKS,而是在COM类TaskScheduler周围使用.Net包装器,您可以通过它与 Windows任务计划程序进行交互.它需要更多的代码,但提供了丰富的属性和对任务的良好控制.这样做可以使用ITaskFolder为您的任务创建文件夹.我包含了我在下面使用的代码的som(它将在“MyTaskFolder”文件夹中创建一个名为“MyTaskName”的任务.另请查看 this article for good information on the subject.
TaskScheduler.TaskScheduler scheduler = new TaskScheduler.TaskScheduler();
    scheduler.Connect(null,null,null); //run as current user.

    ITaskDefinition taskDef = scheduler.NewTask(0);
    taskDef.RegistrationInfo.Author = task.TaskAuthor;
    ...

    ITimeTrigger trigger = (ITimeTrigger)taskDef.Triggers.Create(_TASK_TRIGGER_TYPE2.TASK_TRIGGER_TIME);
    ...

    IExecAction action = (IExecAction)taskDef.Actions.Create(_TASK_ACTION_TYPE.TASK_ACTION_EXEC);
    ...

    ITaskFolder root = scheduler.GetFolder("");
    root.CreateFolder("MyTaskFolder");      //// here

    IRegisteredTask regTask = root.RegisterTaskDefinition(
        "MyTaskName",taskDef,(int)_TASK_CREATION.TASK_CREATE_OR_UPDATE,// user
        null,// password
        _TASK_LOGON_TYPE.TASK_LOGON_INTERACTIVE_TOKEN,//User must already be logged on. The task will be run only in an existing interactive session.
        "" //SDDL
        );

请注意,如果文件夹已存在,则会引发异常. Ypu可以使用获取可用的文件夹

ITaskFolderCollection folders = root.GetFolders(0);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读