c#启动一个计划任务

本文关键字:一个 计划 任务 启动 | 更新日期: 2023-09-27 18:13:29

我正在尝试用c#编写一个简单的表单,该表单将在一些计算机上运行计划任务。到目前为止,我看到的是:

private void button_Click(object sender, EventArgs e)
    {
        try
        {
            for (int i = 0; i < num_of_computers; i++)
            {
                string line;
                line = (" /run /tn myTask /s " + _ReplacerObj.MyComputers[i] + " /u user s /p password");
                proc.WindowStyle = System.Diagnostics.ProcessWindowStyle.Minimized;
                proc.FileName = @"C:'WINDOWS'SYSTEM32'schtasks.exe";
                proc.Arguments = line;
                Process.Start(proc);
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString(), "Error Message!");
        }

由于某些原因,这不起作用(IE -计划任务没有启动)。我试着运行cmd this:

c:'windows'system32'schtasks.exe /run /tn myTask /s myIp /u user /p password

,它工作得很好。有什么建议吗?谢谢!

c#启动一个计划任务

我建议使用一个。net包装器作为任务调度程序。

using Microsoft.Win32.TaskScheduler;

using (TaskService tasksrvc = new TaskService(@"''" + servername, username, domain, password, true))
{       
    Task task = tasksrvc.FindTask(taskSchedulerName);
    task.Run();
}   

我使用下面的代码,它工作得很好,可能会有帮助(插入你的参数)

var p = new Process
                            {
                                StartInfo =
                                    {
                                        UseShellExecute = false,
                                        FileName = "SCHTASKS.exe",
                                        RedirectStandardError = true,
                                        RedirectStandardOutput = true,
                                        CreateNoWindow = true,
                                        WindowStyle = ProcessWindowStyle.Hidden,
                                        Arguments = arguments
                                    }
                            };
            p.Start();
相关文章: