Kann keine Befehle an den Prozess cmd.exe senden

Ich versuche, mithilfe von @ Befehle an einen offenen cmd.exe-Prozess zu sendeStandardInput.WriteLine(str), jedoch scheint keiner der Befehle gesendet zu werden. Zuerst öffne ich einen Prozess mit einer globalen Variablen p Process p).

p = new Process()
{
    StartInfo = {
        CreateNoWindow = true,
        UseShellExecute = false,
        RedirectStandardError = true,
        RedirectStandardInput = true,
        RedirectStandardOutput = true,
        FileName = @"cmd.exe",
        Arguments = "/C" //blank arguments
    }
};

p.Start();
p.WaitForExit();

Nachdem versuche ich, einen Befehl mit einer einfachen Methode zu senden, die das Ergebnis in einem Textfeld protokolliert.

private void runcmd(string command)
{
    p.StandardInput.WriteLine(command);
    var output = p.StandardOutput.ReadToEnd();
    TextBox1.Text = output;
}

Jetzt teste ich es mitDIR, abervar output wird als null angezeigt, was zu keiner Ausgabe führt. Gibt es eine bessere Möglichkeit, einen Befehl an den Prozess open cmd.exe zu senden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage