Hola
necesito ayuda, quien me puede decir como ejecutar un comando desde vb o c#
El problema en realidad lo tengo cuando doy una ruta como:
"c:\Program Files\Oracle\VirtualBox\VBoxManage.exe"
al hacer el llamado, corta el string en: "c:\Program" y dice que no lo reconoce como comando, así que básicamente estoy teniendo problemas con los espacios
aqui está el codigo que estoy ocupando para consultar a VirtualBox la lista de maquinas virtuales que tiene actualmente:
Dim proc As Process = New Process()
Dim procInfo As ProcessStartInfo = New ProcessStartInfo()
procInfo.Arguments = " " + If("/K", "/C") + " " + "c:\Program Files\Oracle\VirtualBox\VBoxManage.exe" + " " + "list vms"
procInfo.FileName = "cmd.exe"
procInfo.UseShellExecute = False
proc.StartInfo = procInfo
proc.Start()
Traté de ocupar esto pero no me funcionó:
'path = System.Environment.GetEnvironmentVariable("ProgramW6432")
'fullPath = System.Environment.GetEnvironmentVariable("ProgramW6432").ToString & "\Oracle\VirtualBox>VBoxManage.exe"
Gracias de antemano
Yo lo hago asi en C#
System.Diagnostics.Process.Start("cmd.exe", strCmdLine);
Donde strCmdLine es un parametro que leera cmd.
Otro ejemplo, para apagar el pc xD
string nuevo = "-s -t 60 -f";
System.Diagnostics.Process.Start("shutdown.exe", nuevo);
Espero que te sirva , saludos.
no entiendo que tiene que ver el "cmd.exe" con el archivo "c:\Program Files\Oracle\VirtualBox\VBoxManage.exe", si queres pasarle un comando a ese archivo VBoxManage.exe directamente se lo escribis, por ejemplo aca te pongo un ejemplo con el Winrar.
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim proc As New Process
Dim procInfo As New ProcessStartInfo
procInfo.Arguments = "C:\Users\sebastian\Desktop\archivo.rar"
procInfo.FileName = "C:\Program Files\WinRAR\WinRAR.exe"
procInfo.UseShellExecute = False
proc.StartInfo = procInfo
proc.Start()
End Sub
End Class
resultado: me abre el archvio en el winrar.
saludos.