Ejecute el comando CMD desde el código

En C # WPF: quiero ejecutar un comando CMD, ¿cómo puedo ejecutar un comando cmd programáticamente?

Aquí hay un ejemplo simple:

Process.Start("cmd","/C copy c:\\file.txt lpt1"); 

Como se menciona en las otras respuestas, puede usar:

  Process.Start("notepad somefile.txt"); 

Sin embargo, hay otra manera.

Puede instanciar un objeto de proceso y llamar al método de instancia de inicio:

  Process process = new Process(); process.StartInfo.FileName = "notepad.exe"; process.StartInfo.WorkingDirectory = "c:\temp"; process.StartInfo.Arguments = "somefile.txt"; process.Start(); 

Hacerlo de esta manera le permite configurar más opciones antes de comenzar el proceso. El objeto Proceso también le permite recuperar información sobre el proceso mientras se está ejecutando y le dará una notificación (a través del evento Exited) cuando el proceso haya finalizado.

Además: no olvides establecer ‘process.EnableRaisingEvents’ en ‘true’ si deseas conectar el evento ‘Exited’.

Usando Process.Start :

 using System.Diagnostics; class Program { static void Main() { Process.Start("example.txt"); } } 

si quieres iniciar la aplicación con cmd utiliza este código:

 string YourApplicationPath = "C:\\Program Files\\App\\MyApp.exe" ProcessStartInfo processInfo = new ProcessStartInfo(); processInfo.WindowStyle = ProcessWindowStyle.Hidden; processInfo.FileName = "cmd.exe"; processInfo.WorkingDirectory = Path.GetDirectoryName(YourApplicationPath); processInfo.Arguments = "/c START " + Path.GetFileName(YourApplicationPath); Process.Start(processInfo); 

¿Qué tal si creas un archivo por lotes con el comando que deseas y lo llamas con Process.Start?

contenido dir.bat:

 dir 

luego llame:

 Process.Start("dir.bat"); 

Llamará al archivo bat y ejecutará el dir

Puedes usar esto para trabajar con cmd en C # :

 ProcessStartInfo proStart = new ProcessStartInfo(); Process pro = new Process(); proStart.FileName = "cmd.exe"; proStart.WorkingDirectory = @"D:\..."; string arg = "/c your_argument"; proStart.Arguments = arg; proStart.WindowStyle = ProcessWindowStyle.Hidden; pro.StartInfo = pro; pro.Start(); 

¡No te olvides de escribir / c antes de tu discusión !

Argh: D no es el más rápido

 Process.Start("notepad C:\test.txt"); 

¿Estás preguntando cómo abrir una ventana de comandos? Si es así, puede usar el objeto Proceso …

 Process.Start("cmd"); 

Además de las respuestas anteriores, puede usar un método de extensión pequeño:

 public static class Extensions { public static void Run(this string fileName, string workingDir=null, params string[] arguments) { using (var p = new Process()) { var args = p.StartInfo; args.FileName = fileName; if (workingDir!=null) args.WorkingDirectory = workingDir; if (arguments != null && arguments.Any()) args.Arguments = string.Join(" ", arguments).Trim(); else if (fileName.ToLowerInvariant() == "explorer") args.Arguments = args.WorkingDirectory; p.Start(); } } } 

y úsalo así:

 // open explorer window with given path "Explorer".Run(path); // open a shell (remanins open) "cmd".Run(path, "/K");