有没有办法通过C#执行以下命令?
.\binary.exe < input > output
我正在尝试使用System.Diagnostics.Process
,但我想知道C#中是否存在直接exec
样式命令。有什么建议吗?
答案 0 :(得分:1)
基本上你需要将标准输入和输出重定向到你的程序并将它们写入你想要的文件
ProcessStartInfo info = new ProcessStartInfo("binary.exe");
info.RedirectStandardInput = true;
info.RedirectStandardOutput = true;
Process p = Process.Start(info);
string Input;
// Read input file into Input here
StreamWriter w = new StreamWriter(p.StandardInput);
w.Write(Input);
w.Dispose();
StreamReader r = new StreamReader(p.StandardOutput);
string Output = r.ReadToEnd();
r.Dispose();
// Write Output to the output file
p.WaitForExit();
答案 1 :(得分:1)
不是直接的,但您可以从控制台流重定向输出(正如您可能已经想到的那样,考虑到您正在尝试使用Process类),如MSDN上所述:http://msdn.microsoft.com/en-us/library/system.diagnostics.process.standardoutput.aspx
此处还有一个示例:Redirect console output to textbox in separate program
将它包装到您自己的类中,它基本上将成为“exec”样式命令。