jueves, 12 de noviembre de 2015

ejecutar programas de linea de comandos desde aplicacion C#

 string sourceName = "archivoorigen.cosa";
 string destName = "archivodest.cosa";
 string path="larutadelarchivo";
 string comando = string.Format("-i {0} -vcodec copy -acodec copy {1}", sourceName, destName);
 System.Diagnostics.Process process = new System.Diagnostics.Process();
 System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo();
 startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
 startInfo.FileName = "ffmpeg.exe";
 startInfo.WorkingDirectory = path;
 startInfo.CreateNoWindow = true;
 startInfo.Arguments = comando;
 process.StartInfo = startInfo;
 process.Start();

en este ejemplo se muestra el uso del programa ffmpeg que funciona por línea de comandos como se convierte un archivo mkv en h264. 
primero se definen las variables de origen y destino, luego se crea el comando que va a enlazarse con la propiedad argumentos del objeto instanciado a partir de la clase processstartinfo y junto con las otras propiedades se hace la ejecución.
Es posible que haya que adicionar instrucciones como (en caso de que aparezcan instancias no deseadas del programa en administrador de tareas):
process.WaitForExit();
process.Close();




No hay comentarios:

Publicar un comentario

Gracias por tus aportes, críticas y preguntas

Agregar Fondos personalizados a llamadas de teams

1. Abrir una ventana de explorador 2. En la barra de direccion digitar     %appdata% y pulsar enter 3. Abrir la carpeta microsoft...