Есть ли способ выполнить следующую команду через C #?
.\binary.exe < input > output
Я пытаюсь использовать System.Diagnostics.Process, но мне было интересно, есть ли прямая команда в стиле exec в C #.Есть предложения?
System.Diagnostics.Process
exec
Не напрямую, но вы можете перенаправить вывод из потока консоли (как вы, возможно, поняли, учитывая, что вы пытаетесь использовать класс Process), как отмечено здесь в MSDN: http://msdn.microsoft.com/en-us/library/system.diagnostics.process.standardoutput.aspx
Здесь также есть пример для SO: Перенаправить вывод консоли в текстовое поле в отдельной программе
Оберните это в свой собственный класс, и он в основном станет командой в стиле "exec".
Обычно вам нужно перенаправить стандартный ввод и вывод в вашу программу и записать их в нужные вам файлы
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();