Não é possível enviar comandos para o processo cmd.exe

Estou tentando enviar comandos para um processo aberto do cmd.exe usandoStandardInput.WriteLine(str), no entanto, nenhum dos comandos parece ter sido enviado. Primeiro, abro um processo, com uma variável global 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();

Depois, tento enviar um comando usando um método simples, que registra o resultado em uma caixa de texto.

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

Agora eu estou testando comDIR, masvar output aparece como nulo, o que resulta em nenhuma saída. Existe uma maneira melhor de enviar um comando para o processo aberto cmd.exe?

questionAnswers(1)

yourAnswerToTheQuestion