C#Process不接受我的参数

Mer*_*inç 2 c# parameters process

我认为C#进程类在作为参数传递时有接受<>字符的问题.

当我调用以下代码时,可执行文件返回一个错误,指示我传递了多个参数.

 proc = new Process();
 proc.StartInfo.FileName = this.spumux.SpumuxExe;
 proc.StartInfo.Arguments = "menu.xml < menu.mpg > newmenu.mpg";
 proc.StartInfo.UseShellExecute = false;
 proc.StartInfo.CreateNoWindow = true;
 proc.StartInfo.RedirectStandardOutput = true;
 proc.StartInfo.RedirectStandardError = true;
 proc.EnableRaisingEvents = true;
 proc.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);
 proc.ErrorDataReceived += new DataReceivedEventHandler(OutputHandler);
 proc.Exited += new EventHandler(ProcExited);
 proc.Start();
 proc.BeginOutputReadLine();
 proc.BeginErrorReadLine();
Run Code Online (Sandbox Code Playgroud)

这段代码通常与我到目前为止尝试过的其他所有可执 因此它必须做的东西<,>人物

有任何想法吗?

Fem*_*ref 5

在这种情况下,尖括号意味着重定向输入/输出,这由cmd.exe完成,而不是由已启动的进程完成.

您有两种选择:

  • 调用cmd.exe而不是您的可执行文件,并提供可执行文件作为参数(以及您的exe的参数)
  • 自己重定向标准输入/输出.