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?