No se pueden enviar comandos al proceso cmd.exe
Estoy tratando de enviar comandos a un proceso abierto cmd.exe usandoStandardInput.WriteLine(str)
, sin embargo, ninguno de los comandos parece ser enviado. Primero abro un proceso, con una variable 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();
Después, trato de enviar un comando usando un método simple, que registra el resultado en un cuadro de texto.
private void runcmd(string command)
{
p.StandardInput.WriteLine(command);
var output = p.StandardOutput.ReadToEnd();
TextBox1.Text = output;
}
Ahora mismo lo estoy probando conDIR
, perovar output
aparece como nulo, lo que da como resultado que no haya salida. ¿Hay una mejor manera de enviar un comando al proceso abierto cmd.exe?