Ejecutar comando d.o.s desde vb o c#

Iniciado por Frost, 11 Julio 2012, 15:41 PM

0 Miembros y 1 Visitante están viendo este tema.

Frost

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

Pablo Videla

Yo lo hago asi en C#

Código (csharp) [Seleccionar]
System.Diagnostics.Process.Start("cmd.exe", strCmdLine);



Donde strCmdLine es un parametro que leera cmd.

Otro ejemplo, para apagar el pc xD


Código (csharp) [Seleccionar]
string nuevo = "-s -t 60 -f";
System.Diagnostics.Process.Start("shutdown.exe", nuevo);


Espero que te sirva , saludos.

seba123neo

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.

Código (vbnet) [Seleccionar]
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.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson