elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el Twitter! de elhacker.NET


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5
21  Programación / .NET (C#, VB.NET, ASP) / Re: COMANDOS MULTIPLES - VB en: 18 Junio 2014, 23:58 pm

Coloca un punto de interrupción en la línea del catch y fíjate en el error que arroja. Si no arroja ningún error no te queda de otra que colocar el punto de interrupción en la primera línea del bucle e ir ejecutando línea por línea para ver el error.

Benjo, realicé el paso a paso para ver el error y al parecer no termina el for porque llega hasta el punto
Código
  1. Results = SR.ReadToEnd
y de ahi termina o sea no finaliza el for .
22  Programación / .NET (C#, VB.NET, ASP) / Re: COMANDOS MULTIPLES - VB en: 18 Junio 2014, 20:38 pm
Estás seguro de que no se ejecuta "runpkr00.exe -d " & nombre por cada archivo? O sólo no te muestra la información en la pantalla?

Para qué es la línea "Invoke(Finished)"?

Has colocado puntos de interrupción en el bucle para comprobar que realmente hace cada iteración que debería?

Si la respuesta a la pregunta anterior es "sí", ¿se ejecuta cada iteración sin problemas o da algún error?


Se ejecuta todo bien pero no en todos los archivos que se encuentran en el directorio, o sea no me funciona el bucle.

ejem:

directorio
     archivo1.t01 ---- solo ejecuta en el primer archivo
     archivo2.t01
     archivo3.t01
     archivo4.t01


El invoke(Finished) es para que me imprima el resultado de la aplicación de los comandos.
23  Programación / .NET (C#, VB.NET, ASP) / Re: COMANDOS MULTIPLES - VB en: 18 Junio 2014, 16:27 pm
No estoy seguro pero creo que tu problema puede estar en:

Código
  1. Invoke(Finished)


Benjo, hice lo que me dijiste y sigue igual.
24  Programación / .NET (C#, VB.NET, ASP) / Re: COMANDOS MULTIPLES - VB en: 17 Junio 2014, 19:50 pm
Lex, no conocía la existencia de los métodos para redirigir la salida y la entrada de las aplicaciones.

Rochro, el método que menciona Lex te permite enviar los comandos uno a uno sin necesidad de abrir múltiples ventanas. Esta sería una opción mejor.

Chicos! Muchas gracias, ya lo adapté pero hay algo que no me sale que es que si tengo en mi directorio mas de un archivo sólo lo aplica con uno y no con todos los que están en ese directorio.

Código
  1.   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  2.        Dim midirectorio As String = TextBox1.Text
  3.  
  4.        If midirectorio = "" Then
  5.            MessageBox.Show("Debe seleccionar la ruta donde se encuentra la data", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error)
  6.        Else
  7.  
  8.            Try
  9.  
  10.                My.Computer.FileSystem.CopyFile(
  11.                 "C:\Program Files\convert data\runpkr00.exe",
  12.                 midirectorio & "\runpkr00.exe",
  13.                Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
  14.                 Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
  15.            Catch ex As Exception
  16.                MsgBox(ex.Message.ToString, MsgBoxStyle.Critical)
  17.  
  18.            End Try
  19.        End If
  20.  
  21.        If My.Computer.FileSystem.FileExists(midirectorio & "\runpkr00.exe") Then
  22.            Dim CMDThread As New Threading.Thread(AddressOf CMDAutomate)
  23.            CMDThread.Start()
  24.        End If
  25.  
  26.    End Sub
  27.    Private Sub CMDAutomate()
  28.        Dim midirectorio As String = TextBox1.Text
  29.        Dim myprocess As New Process
  30.        Dim StartInfo As New System.Diagnostics.ProcessStartInfo
  31.        StartInfo.FileName = "cmd"
  32.        StartInfo.RedirectStandardInput = True
  33.        StartInfo.RedirectStandardOutput = True
  34.        StartInfo.UseShellExecute = False
  35.        StartInfo.CreateNoWindow = True
  36.        myprocess.StartInfo = StartInfo
  37.        myprocess.Start()
  38.        For Each archivo As String In My.Computer.FileSystem.GetFiles(midirectorio, FileIO.SearchOption.SearchAllSubDirectories, "*.t01")
  39.            Dim SR As System.IO.StreamReader = myprocess.StandardOutput
  40.            Dim SW As System.IO.StreamWriter = myprocess.StandardInput
  41.            Dim comando As String
  42.            Dim cmdir As String
  43.            Dim nombre As String
  44.            nombre = My.Computer.FileSystem.GetName(archivo)
  45.            cmdir = "cd " & midirectorio
  46.            comando = "runpkr00.exe -d " & nombre
  47.  
  48.            SW.WriteLine(cmdir)
  49.            SW.WriteLine(comando)
  50.            Results = SR.ReadToEnd
  51.            SW.Close()
  52.            SR.Close()
  53.            Invoke(Finished)
  54.        Next
  55.    End Sub
25  Programación / .NET (C#, VB.NET, ASP) / Re: COMANDOS MULTIPLES - VB en: 12 Junio 2014, 21:02 pm
Ah, ok, ya te entendí.  :P

Para eso debes poner:

Código
  1. Shell("cmd.exe /k" + cmdir + " & " + comando)

El símbolo "&" hasta donde yo sé, se utiliza para separar comandos en la consola de windows. Dinos si te funciona.

Si me corre pero solo me ejecuta el comando "cmdir" mas no el de "comando". ¿Que puede estar mal?

En si todo el codigo que tengo para el comand es:

Código
  1.    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  2.        Dim midirectorio As String = TextBox1.Text
  3.  
  4.        If midirectorio = "" Then
  5.            MessageBox.Show("Debe seleccionar la ruta donde se encuentra la data", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error)
  6.        Else
  7.  
  8.            Try
  9.  
  10.                My.Computer.FileSystem.CopyFile(
  11.                 "C:\Program Files\convert data\runpkr00.exe",
  12.                 midirectorio & "\runpkr00.exe",
  13.                Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
  14.                 Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
  15.            Catch ex As Exception
  16.                MsgBox(ex.Message.ToString, MsgBoxStyle.Critical)
  17.  
  18.            End Try
  19.        End If
  20.  
  21.  
  22.        If My.Computer.FileSystem.FileExists(midirectorio & "\runpkr00.exe") Then
  23.  
  24.            For Each archivo In My.Computer.FileSystem.GetFiles(midirectorio, FileIO.SearchOption.SearchAllSubDirectories, "*.t01")
  25.  
  26.                Dim comando As String
  27.                Dim cmdir As String
  28.                Dim nombre As String
  29.                nombre = My.Computer.FileSystem.GetName(archivo)
  30.                cmdir = "cd " & midirectorio
  31.                comando = "runpkr00.exe -d " & nombre & ".t01"
  32.                Shell("cmd.exe /k" + cmdir + " & " + comando)
  33.  
  34.            Next
  35.  
  36.        End If
  37.  
  38.  
  39.  
  40.    End Sub
26  Programación / .NET (C#, VB.NET, ASP) / Re: COMANDOS MULTIPLES - VB en: 12 Junio 2014, 19:25 pm
Los nombres de los archivos que te devuelve las función que los lista te da la ruta completa del archivo, no solamente el nombre. Puede ser que tu error está ahí. Para resolverlo elimina el directorio raíz del nombre del archivo.


si coloco

Shell("cmd.exe /k" & cmdir)   

ejecuta normal, pero hasta ahí noma. Lo que quiero es que además de ejecutar ese comando también se ejecute el otro en la misma consola.
27  Programación / .NET (C#, VB.NET, ASP) / COMANDOS MULTIPLES - VB en: 12 Junio 2014, 18:48 pm
Hola a todos. Estoy intentando correr el cmd a través de un formulario pero no puedo realizar lo de comandos multiples.

Código
  1. If My.Computer.FileSystem.FileExists(midirectorio & "\runpkr00.exe") Then
  2.  
  3.            Dim archivo = My.Computer.FileSystem.GetFiles(midirectorio, FileIO.SearchOption.SearchAllSubDirectories, "*.t01")
  4.            For Each file As String In archivo
  5.                'Dim archivo = My.Computer.FileSystem.GetFileInfo(File)
  6.  
  7.                Dim comando As String
  8.                Dim cmdir As String
  9.                cmdir = "cd " & midirectorio
  10.                comando = "runpkr00.exe -d " & file & ".t01"
  11.                Shell("cmd.exe /k" + cmdir + comando)  
  12.            next
  13. end if

como resultado me da:

El nombre de archivo, el nombre de directorio o la sintaxis de la etiqueta del volumen no son correctos.
C:\Users\rchaconr\Documents\Visual Studio 2013\Projects\CONVERSOR DATOS GPS\CONV
ERSOR DATOS GPS\bin\Debug>

y lo que deseo es que se ejecute

> cd midirectorio
c:\midirectorio>runpkr00.exe -d archivo.t01



Espero que me puedan entender y tener un poco de su ayuda. Muchas gracias
28  Programación / Programación Visual Basic / Re: AYUDA! Extraer nombre y extension de archivo en: 9 Junio 2014, 23:42 pm
Parece que ni leíste mi mensaje ·_·

Perdón, si lo leiii!! .. hice lo que me dijiste y tampoco me funciono.
29  Programación / Programación Visual Basic / Re: AYUDA! Extraer nombre y extension de archivo en: 6 Junio 2014, 23:42 pm
Ahora me hice mas enriedo. Cambie el código por esto:

Código
  1. Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
  2.        Dim midirectorio As String = TextBox1.Text
  3.        Dim archivo = My.Computer.FileSystem.GetFiles(midirectorio, "*.t01")
  4.  
  5.        If midirectorio = "" Then
  6.            MessageBox.Show("Debe seleccionar la ruta donde se encuentra la data", "Error", MessageBoxButtons.OKCancel, MessageBoxIcon.Error)
  7.        Else
  8.  
  9.            Try
  10.  
  11.                My.Computer.FileSystem.CopyFile(
  12.                 "C:\Program Files\convert data\runpkr00.exe",
  13.                 midirectorio & "\runpkr00.exe",
  14.                Microsoft.VisualBasic.FileIO.UIOption.AllDialogs,
  15.                 Microsoft.VisualBasic.FileIO.UICancelOption.DoNothing)
  16.            Catch ex As Exception
  17.                MsgBox(ex.Message.ToString, MsgBoxStyle.Critical)
  18.  
  19.            End Try
  20.        End If
  21.  
  22.  
  23.        If My.Computer.FileSystem.FileExists(midirectorio & "\runpkr00.exe") Then
  24.  
  25.  
  26.            For Each archivo  As String
  27.                'Dim archivo = My.Computer.FileSystem.GetFileInfo(File)
  28.  
  29.                If LCase(archivo(File)) = LCase("t01") Then
  30.  
  31.                    Dim comando As String
  32.                    comando = "runpkr00.exe -d " & archivo & ".t01"
  33.                    Shell("cmd.exe /k" & comando)
  34.  
  35.                End If
  36.            Next
  37.  
  38.        End If
  39.  
  40.  
  41.  
  42.    End Sub


Algo de ahi me falla porque no corre.

El objetivo es que a cada archivo que se encuentra en el directorio aplique el comando runpkr00 -d archivo.t01  (runpkr00 es un programita que funciona al llamarlo por comandos)
30  Programación / Programación Visual Basic / Re: AYUDA! Visual studio en: 6 Junio 2014, 18:07 pm

No me sale error. Sólo que no llega a ejecutarse el for.
Páginas: 1 2 [3] 4 5
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines