Не удалось отправить команды процессу cmd.exe
Я пытаюсь отправить команды в открытый процесс cmd.exe с помощьюStandardInput.WriteLine(str)
Однако ни одна из команд, похоже, не отправлена. Сначала я открываю процесс с глобальной переменной 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();
После этого я пытаюсь отправить команду, используя простой метод, который записывает результат в текстовое поле.
private void runcmd(string command)
{
p.StandardInput.WriteLine(command);
var output = p.StandardOutput.ReadToEnd();
TextBox1.Text = output;
}
Прямо сейчас я проверяю это сDIR
, ноvar output
отображается как ноль, что приводит к отсутствию вывода. Есть ли лучший способ отправить команду процессу open cmd.exe?