Задача - сделать аналог командной строки Windows - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Задача - сделать аналог командной строки Windows. Есть такой код
Process myProcess = new Process();
myProcess.StartInfo.FileName = @"cmd.exe";
myProcess.StartInfo.RedirectStandardOutput = true;
myProcess.StartInfo.RedirectStandardError = true;
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.Arguments = @"/C " + textBox1.Text;
myProcess.Start();
StreamReader srOut = myProcess.StandardOutput;
StreamReader srErr = myProcess.StandardError;
string strOut = srOut.ReadToEnd();
string strErr = srErr.ReadToEnd();
textBox1.Text += "\r\n" + strOut + strErr;
myProcess.WaitForExit();
Все работает, но при запуске cmd делает команду, и сразу же закрывается. Как тогда делать например такие команды?
cd C:\Windows
dir
mkdir newdir
Ведь после уже на второй команде "dir" открывается новая командная строка, и "cd C:\Windows" бесполезно было делать. Заранее благодарен.

Решение задачи: «Задача - сделать аналог командной строки Windows»

textual
Листинг программы
Process process = new Process();
process.StartInfo.FileName="cmd";
process.StartInfo.UseShellExecute=false;
process.StartInfo.RedirectStandardInput=true;
process.Start();
StreamWriter writer = process.StandardInput;
writer.WriteLine(@"cd c:\windows");
writer.WriteLine(@"dir");
//...

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.727 из 5
Похожие ответы