Программное использование cmd.exe из C #

Я хочу запустить серию команд на cmd.exe из C #.Мне нужно открыть только одно окно cmdМне нужно держать окно cmd открытым во время выполнения и после завершения.Мне нужно отобразить команды[edit] в открывшемся окне cmd [/ edit] выполняется, а также вывод команд.

В общем, я хочу открыть и использовать cmd.exe так же, как и ручной пользователь. Я попробовал несколько методов, но ни один не мог сделать все 4 пункта выше.

Приведенный ниже код работает, но не отображает команды / выходы и завершается после завершения. Любая помощь?

Process p = new Process();
ProcessStartInfo info = new ProcessStartInfo("cmd.exe");
info.RedirectStandardInput = true;
info.UseShellExecute = false;
info.CreateNoWindow = false;
info.Arguments = "/k";

p.StartInfo = info;
p.Start();

using (StreamWriter sw = p.StandardInput)
{
    if (sw.BaseStream.CanWrite)
    {
         sw.WriteLine("dir");
         sw.WriteLine("ipconfig");
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос