Foro de elhacker.net

Programación => .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:

Código:
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ó:

Código:
 '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
  1. System.Diagnostics.Process.Start("cmd.exe", strCmdLine);
  2.  
  3.  
  4.  
Donde strCmdLine es un parametro que leera cmd.

Otro ejemplo, para apagar el pc xD


Código
  1. string nuevo = "-s -t 60 -f";
  2. 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
  1. Public Class Form1
  2.  
  3.    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  4.        Dim proc As New Process
  5.        Dim procInfo As New ProcessStartInfo
  6.        procInfo.Arguments = "C:\Users\sebastian\Desktop\archivo.rar"
  7.        procInfo.FileName = "C:\Program Files\WinRAR\WinRAR.exe"
  8.        procInfo.UseShellExecute = False
  9.        proc.StartInfo = procInfo
  10.        proc.Start()
  11.    End Sub
  12. End Class

resultado: me abre el archvio en el winrar.

saludos.