【问题标题】:C# Process arguments doesn't work with "<" and ">"C# 进程参数不适用于“<”和“>”
【发布时间】:2015-12-08 18:57:46
【问题描述】:

我想在 c# 中运行一个进程,但是参数中的“”符号有一些问题。我试过这样>,但没有帮助。

代码如下:

process.StartInfo.Arguments = $"< \"{imagePath}\" > \"{optimizedImagePath}\"";

【问题讨论】:

  • 那么与您想要发生的事情相比会发生什么?我的猜测是您希望它执行重定向-在这种情况下,您需要将 UseShellExecute 设置为 true 或者如果这不起作用(我不记得是否应该这样做),您应该启动 cmd.exe带有适当的论据。
  • 是保留运算符。
  • 很遗憾,它不起作用。

标签: c# process arguments


【解决方案1】:

您不能在 C# 中使用 符号作为参数进行重定向 为此,您必须使用ProcessStartInfo.RedirectStandardOutputProcessStartInfo.RedirectStandardInput 手动读取文件流并将其重定向进出进程。

试试这样的:(未经测试!)

Image imageIn = new Image("imagepath.jpg");
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, imageIn.RawFormat);

process.StandardInput.Write(ms.ToArray());

【讨论】:

  • 你能写一些示例代码吗?我真的很感激!
猜你喜欢
  • 2015-06-17
  • 2021-07-23
  • 1970-01-01
  • 1970-01-01
  • 2020-03-26
  • 2017-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多