使用C#的任务调度器(To Schedule.bat(batch)文件)

本文关键字:bat batch 文件 Schedule To 任务调度 使用 | 更新日期: 2023-09-27 18:23:49

我想使用与Windows任务调度程序相同的C#创建一个任务调度程序,以便在特定时间运行我的.bat(批处理)文件。

我发现了这个有用的链接(http://www.codeproject.com/Articles/38553/TaskScheduler)

在这个程序中,他们调度触发器,我想调度我的.bat文件我的意思是,当我试图在标记文本框中提供我的批处理文件路径时,它只是触发了,而不是运行我的批文件所以,我稍微修改了一下代码,现在我也可以运行我的批处理文件,

但是,当我关闭应用程序时,触发也会停止,那么,有没有任何方法可以触发或运行我的批处理文件,即使我关闭了我的应用程序liks窗口任务调度程序???

请帮帮我。

注意:它的桌面应用程序使用C#

使用C#的任务调度器(To Schedule.bat(batch)文件)

您可以将批处理文件的路径放置在标记文本框中。选中活动仅在一个时间框中,设置时间,然后触发。

注意:这只是扳机。您要做的是运行批处理文件。在这种情况下,您需要修改代码。你可以从开始

private void buttonCreateTrigger_Click(object sender, EventArgs e)
    {
        CreateSchedulerItem();
    }

在Demo.cs页面中

为了在TaskScheduler.cs中运行批处理文件或exe,请查找并替换此代码

        void _triggerTimer_Tick(object sender, EventArgs e)
    {
        _triggerTimer.Stop();
        foreach (TriggerItem item in TriggerItems)
            if (item.Enabled)
                while (item.TriggerTime <= DateTime.Now)
                    item.RunCheck(DateTime.Now);
                    System.Diagnostics.Process.Start("Your Path");
        _triggerTimer.Start();
    }

现在,您可以将此路径保存在一些公共类的knid中,并使其可以访问这两个类。

那么,问题出在哪里?下载后,您可以查看Demo.cs,在那里您可以找到方法private void CreateSchedulerItem()和事件triggerItem_OnTrigger。您可以更改此事件以运行所需的批处理文件。

类似的内容。我希望你能在System.Diagnostics上更改Console.WriteLine

static void Main(string[] args) {
    AutoResetEvent autoResetEvent = new AutoResetEvent(false);
    Timer timer = new Timer(PrintHello, autoResetEvent, 0, 5000);
    autoResetEvent.WaitOne();
}
private static void PrintHello(Object state) {
    Console.WriteLine("Hello");
}