Es posible ejecutar comandos en C# usando algo como esto:¿Ejecuta la línea de comandos desde C# con los parámetros?
process = new Process();
process.StartInfo.FileName = command;
process.Start();
El problema es que si la cadena de comandos contiene parámetros, por ejemplo:
C:\My Dir\MyFile.exe MyParam1 MyParam2
Esto no funcionará y yo don' ¿Ve cómo extraer los parámetros de esta cadena y configurarla en la propiedad process.Arguments
? La ruta y el nombre del archivo pueden ser otra cosa, el archivo no tiene que terminar con exe
.
¿Cómo puedo solucionar esto?
Entonces, la pregunta es, ¿cómo puedo dividir una línea de comandos en un '' filename' y Arguments'. – Jodrell
Parece que quieres una expresión regular para encontrar el punto de ruptura. Estrictamente hablando, si el nombre del archivo contiene un espacio, debe estar entre comillas dobles. Eso te ayudaría mucho. ¿Es este el caso, en su ejemplo es el nombre de archivo 'C: \\ My' o' C: \\ My Dir \ MyFile.exe'? Por cierto, es que 'M' escapó? – Jodrell
¿El archivo termina con un punto y cualquier extensión? p.ej. .com, .exe ... – ibram