使用 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# 的任务计划程序中的常规设置的主要内容,如果未能解决你的问题,请参考以下文章