Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Frost en 11 Julio 2012, 15:41 PM

Título: Ejecutar comando d.o.s desde vb o c#
Publicado por: Frost en 11 Julio 2012, 15:41 PM
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
Título: Re: Ejecutar comando d.o.s desde vb o c#
Publicado por: Pablo Videla en 11 Julio 2012, 16:44 PM
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.
Título: Re: Ejecutar comando d.o.s desde vb o c#
Publicado por: seba123neo en 11 Julio 2012, 23:33 PM
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.