c# - 使用 C# 的任务计划程序(计划 .bat(批处理)文件)

标签 c# .net scheduled-tasks

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

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

他们在其中安排触发器,我想安排我的 .bat 文件 我的意思是当我试图在标签文本框中提供我的批处理文件路径时,它只是触发了触发器,而不是运行我的批处理文件 所以,我稍微修改了该代码,现在我也可以运行我的批处理文件了,

但是,当我关闭我的应用程序时,触发也会停止, 那么,有什么方法可以触发或运行我的批处理文件,即使我关闭了我的应用程序(如窗口任务计划程序)???

请帮助我。

注:其桌面应用程序使用C#

最佳答案

您可以将批处理文件的路径放在tags 文本框中。选中Active in one time only 框,设置时间 和那时触发器被触发。

注意:它只是触发器。您想要的是运行批处理文件。在这种情况下,您需要修改代码。你可以从

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

在Demo.cs页面

为了在 TaskScheduler.cs 中运行您的batch 文件或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();
    }

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

关于c# - 使用 C# 的任务计划程序(计划 .bat(批处理)文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17742974/

相关文章:

c# - Process.HasExited 竞争条件

c# - 推荐一个服务器端媒体编码器或 SDK

java - 如何在一定次数的执行后停止计划重复执行的 Runnable

windows - 创建一个每分钟运行一次的计划任务,无需用户使用 PowerShell 登录

java - 在服务器端为 servlet JSP MVC 网站运行定期任务

c# - 代码契约(Contract),如果 X < Y 且 Y = Z+1 为什么 X < Z+1 未被证明

c# - 从主函数回调

c# - 发送两个文本框而不是动态发送一个

c# - View 必须派生自 WebViewPage

c# - 代码访问安全 - 理解为什么 SecurityTransparent 可以调用 SecurityCritical