Buenas, de momento para ir avanzando me estoy con la primera forma.
Pero ya os hago el preguntote!!! Yo sigo intentandolo desde luego.
Como se podría ejecutar esto desde .net con shell:
Vamos por partes, la respuesta a esta pregunta es sencilla
Se me ocurre que podrías crear un archivo .bat con el código que quieres automatizar y lllamarlo o ejecutarlo desde VB.NET con un simple:
Private Sub Ejecutar_Code(Byval ruta_fichero As String)
Shell(ruta_fichero)
End Sub
Donde ruta_fichero es la variable de tipo String que almacena en memoria la dirección del path o ruta donde se encuentra tu archivo .bat a ejecutar.
Con esto debería ejecutarse tu archivo.
Hay un truquillo que implementé en .NET y es el siguiente:
Cuando pasas el comando y el argumento como argumento al método que crea el proceso de ejecucción del comando se asignaran a las variables locales de dicho método lo que hayas pasado. Te aconsejo que separes dicho código de ejecucción del comando en dos partes:
Private Sub Ejecutar_Comando(Byval Comando As String, Byval Argumentos As String)
If Argumentos IsNot String.Empty 'si la variable argumentos no está vacia...
'Construyes el comando a ejecutar CON argumentos
Else
'Construyes el comando a ejecutar SIN argumentos
End If
¿Como saber si el comando que has introducido tiene argumentos? Bien, buscas los siguientes caracteres en el TextBox donde introduces el comando: "-" , "/" y los espacios (Chrw(32))
Espero que hayas entendido la explicación, cualquier duda ya sabes.
Saludos.