Я хочу перенаправить вывод cmd.exe где-то, ниже код работает, когда команда является строка:Перенаправление ввода и вывода для cmd.exe
Process p = new Process()
{
StartInfo = new ProcessStartInfo("cmd")
{
UseShellExecute = false,
RedirectStandardInput = true,
RedirectStandardOutput = true,
CreateNoWindow = true,
Arguments = String.Format("/c \"{0}\"", command),
}
};
p.OutputDataReceived += (s, e) => Messagebox.Show(e.Data);
p.Start();
p.BeginOutputReadLine();
p.WaitForExit();
Но как насчет команд серии, как WriteLine():
p.StandardInput.WriteLine("cd...");
p.StandardInput.WriteLine("dir");
Как получить выход в этой ситуации?
* уточните: * вы хотите, чтобы все выходы ваших команд? или только последний? Вызов 'RunWithRedirect()' последовательно уже достигает вашей цели. – Raptor
пока мои команды находятся в серии. Sth вроде «cd path», а затем «do sth», мне нужны все выходы –
, как насчет вызова 'RunWithRedirect()' последовательно? звучит не проблема в вашем случае. – Raptor