C# 进程参数不适用于“<”和“>”

C# Process arguments doesn't work with "<" and ">"

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

代码如下:

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

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

尝试这样的事情:(未经测试!)

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

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