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?