Start Kommandofenster und führe Kommandos in @ a

Ich muss das Befehlsfenster mit einigen Argumenten starten und weitere Befehle ausführen.

Starten Sie zum Beispiel eine test.cmd und führen Sie mkdir aus.

Ich kann die test.cmd mit processstartinfo starten, aber ich bin nicht sicher, wie ich weitere Befehle ausführen soll. Kann ich weitere Argumente an den test.cmd-Prozess übergeben?

Wie gehe ich vor?

Kommentare zur Antwort können nicht hinzugefügt werden ... SO schreibe ich hier.

Andrea, das ist, wonach ich gesucht habe. Der obige Code funktioniert jedoch nicht für mich.

Ich starte eine test.cmd, die eine neue Befehlsumgebung ist (wie Razzle Build Environment) und ich muss weitere Befehle ausführen.

psi.FileName = @"c:\test.cmd";
psi.Arguments = @"arg0 arg1 arg2";

psi.RedirectStandardInput = true;
psi.RedirectStandardOutput = true;
psi.CreateNoWindow = true;
psi.UseShellExecute = false;

Process p = new Process();
p.StartInfo = psi;
p.Start();
p.StandardInput.WriteLine(@"dir>c:\results.txt");
p.StandardInput.WriteLine(@"dir>c:\results2.txt"); 

Antworten auf die Frage(8)

Ihre Antwort auf die Frage