Necesito iniciar la ventana de comandos con algunos argumentos y ejecutar más comandos dentro.Inicie las ventanas de comandos y ejecute comandos dentro de
Por ejemplo, ejecute test.cmd y ejecute mkdir.
Puedo iniciar el test.cmd con processstartinfo, pero no estoy seguro de cómo ejecutar más comandos. ¿Puedo pasar más argumentos al proceso test.cmd?
¿Cómo puedo hacer esto?
No se han podido agregar comentarios para responder ... TANTO escribiendo aquí.
Andrea, esto es lo que estaba buscando. Sin embargo, el código anterior no funciona para mí.
Estoy lanzando un test.cmd que es un nuevo entorno de comando (como el entorno de compilación razzle) y necesito ejecutar más comandos.
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");
yo creo que hay que dejar psi .FileName y psi.Argumentos como en mi código, y simplemente haga una p.StandardInput.WriteLine (@ "c: \ test.cmd arg0 arg1 arg2"); –
Gracias, lo intenté y funcionó. Sin embargo, con esto estoy tratando de leer el registro de la consola que no devuelve el resultado que necesito. Aquí está mi código completo para aclaración. Lo que estoy esperando es la salida de command123. – user393148
Proceso p = nuevo Proceso(); p.StartInfo = psi; p.Start(); p.StandardInput.WriteLine (@ "c: \ test.cmd arg1 arg2 && cd/dc: \ testdir \ sample && command123/c "); p.StandardInput.WriteLine (@" salida "); salida cadena = p.StandardOutput.ReadToEnd(); p.WaitForExit(); – user393148