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?