1

我知道 Windows 服务无法运行与 GUI 相关的任务,因为它不在操作系统 ui 会话上运行。

我有一个执行 PowerShell 脚本的批处理文件,该脚本打开 PowerShell 控制台等。

当我尝试使用 Windows 服务运行批处理文件时,什么也没有发生。当我尝试使用 exe 运行此批处理时,它可以工作。如何让服务运行此类任务?

4

1 回答 1

0

要详细说明@Henrik 的建议,您可以直接从 C# 执行批处理文件中的命令,这可能会起作用。

Process cmd = new Process();
ProcessStartInfo info = new ProcessStartInfo();
info.FileName = "cmd.exe";
info.RedirectStandardInput = true;
info.UseShellExecute = false;
cmd.StartInfo = info;
cmd.Start();
using (StreamWriter sw = cmd.StandardInput)
{
    sw.WriteLine("echo command1");
    sw.WriteLine("echo command2");
    sw.WriteLine("echo command3");
}
于 2013-01-31T13:34:39.273 回答