Wysyłanie poleceń do monitu cmd w C #

Dla jednej z moich implementacji pracuję nad narzędziem, które ma wysyłać / pobierać polecenia / wyniki do / z okna cmd. Wszystko działa bez zarzutu, ale poniższy przypadek Use nie robi nic. Wygląda na to, że moja aplikacja czeka na coś (zamiast wyświetlać wynik)

Z mojego narzędzia przechodzę do folderu Pythona. Z folderu Pythona próbuję uruchomić python.exe, ale w tym momencie mój edytor nic nie robi. po prostu czeka.

Dla twojego rodzaju rozważania również łączę wideo tutaj. Łatwiej byłoby wam zrozumieć, co próbuję powiedzieć.

Zobacz film tutaj (na youtube)

Dołączam także kod, który aktualnie mam.

            ProcessStartInfo info = new ProcessStartInfo("cmd.exe");

            string argument = null;
            if (!string.IsNullOrEmpty(startingDirectory) && System.IO.Directory.Exists(startingDirectory))
            {
               argument += @"cd\";
            }
            else
            {
                argument += "\"";
            }
            info.Arguments = argument;
            info.CreateNoWindow = true;
            info.RedirectStandardError = true;
            info.RedirectStandardInput = true;
            info.RedirectStandardOutput = true;
            info.UseShellExecute = false;
             this.shellProcess = System.Diagnostics.Process.Start(info);
            this.shellProcess.EnableRaisingEvents = true;
            //this.InputStream.AutoFlush = true;
            this.shellProcess.Exited += new EventHandler(ProcessExited);
            this.ErrorBeginRead();
            this.OutputBeginRead();

 private void OutputBeginRead()
    {
        this.shellProcess.StandardOutput.BaseStream.BeginRead(outputBuffer, 0, outputBuffer.Length, new AsyncCallback(this.OnOutputInput), this.shellProcess);
    }

        private void ErrorBeginRead()
    {
        this.shellProcess.StandardError.BaseStream.BeginRead(errorBuffer, 0, errorBuffer.Length, new AsyncCallback(this.OnErrorInput), this.shellProcess);
    }

Dziękuję Ci !

EDYCJA: Uruchamianie Pythona to tylko przykład. Muszę użyć tej samej metody również w przypadku innych normalnych poleceń linii cmd. Byłoby miło, gdyby ktoś mógł wskazać, co robię źle z kodem, który posiadam lub co muszę zrobić, aby osiągnąć zamierzoną funkcjonalność.

EDYCJA 2: Normalne polecenia cmd działają doskonale. Narzędzia wiersza poleceń, takie jak python, perl, nie działają.

Edytuj 3: Więc udało mi się przesunąć odrobinę do przodu zgodnie z sugestiami Jamiego. Ui już nie „zwisa”. ale gdy uzyskuję dostęp do interpretera pythona, dane wyjściowe interpretera nadal nie są widoczne w moim narzędziu. Jakieś sugestie, dlaczego tak się dzieje?

questionAnswers(3)

yourAnswerToTheQuestion