使用 C# 的任务计划程序中的常规设置

Posted

技术标签:

【中文标题】使用 C# 的任务计划程序中的常规设置【英文标题】:General settings in Task Scheduler using C# 【发布时间】:2016-11-09 05:09:21 【问题描述】:

我想将任务计划程序中的“配置”设置为“Windows 7”。

当前 C# 代码:

 using (TaskService ts = new TaskService())
 
    TaskDefinition td = ts.NewTask();
    TimeTrigger trigger = new TimeTrigger();
    var startTime = TimeSpan.Parse(section1["ScheduledTime"]);
    trigger.StartBoundary = DateTime.Today + startTime;
    trigger.Repetition.Interval = TimeSpan.FromDays(1);
    td.Triggers.Add(trigger);  
    td.Actions.Add(new ExecAction(@"Data.exe", argument, null));
    var foldername = ts.GetFolder(@"\Bigdata");
    Console.WriteLine(foldername.Path);                                
    foldername.RegisterTaskDefinition(section1["JobName"], td, TaskCreation.CreateOrUpdate, "service@geotab.local", "traincloudCubel!ne");
  

任何帮助将不胜感激!

【问题讨论】:

【参考方案1】:

td.Settings.Compatibility 应该映射到该字段。

请参阅枚举上的 xmldoc,了解每个版本在下拉列表中映射到的内容。

/// <summary>Defines what versions of Task Scheduler or the AT command that the task is compatible with.</summary>
public enum TaskCompatibility

    /// <summary>The task is compatible with the AT command.</summary>
    AT,
    /// <summary>The task is compatible with Task Scheduler 1.0 (Windows Server™ 2003, Windows® XP, or Windows® 2000).</summary>
    V1,
    /// <summary>The task is compatible with Task Scheduler 2.0 (Windows Vista™, Windows Server™ 2008).</summary>
    V2,
    /// <summary>The task is compatible with Task Scheduler 2.1 (Windows® 7, Windows Server™ 2008 R2).</summary>
    V2_1,
    /// <summary>The task is compatible with Task Scheduler 2.2 (Windows® 8.x, Windows Server™ 2012).</summary>
    V2_2,
    /// <summary>The task is compatible with Task Scheduler 2.3 (Windows® 10, Windows Server™ 2016).</summary>
    V2_3,

【讨论】:

我使用 td.Settings.Compatibility.Equals("Windows 8.1") 将配置设置为“Windows 8.1”。但它仍然没有做任何事情。想知道我是否遗漏了什么。 该属性是一个枚举,正确的方式应该是td.Settings.Compatibility == TaskCompatibility.V2_2,看我上面贴的代码,V2_2 映射到“Windows® 8.x, Windows Server™ 2012”。 设置在错过计划启动后尽快运行任务c#??

以上是关于使用 C# 的任务计划程序中的常规设置的主要内容,如果未能解决你的问题,请参考以下文章

Windows 任务计划程序执行PHP脚本

window计划任务

使用 C# 任务计划库启用/禁用任务

如何将我的 c# 程序作为计划任务运行

当设置为“是不是登录时运行”时,Windows 任务计划程序不运行 VBScript

在设置中添加计划任务?