Ejecutar un bat desde vb6

Iniciado por LixKeÜ, 29 Enero 2008, 02:21 AM

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

LixKeÜ

 Hola esa es la pregunta nose como ejecutar un bat en vb6 y que funcione. El bat lo que hace es descargar un archi a travez de un dat.
    Pero cuando lo ejecuto desde vb6 no funciona y cuando lo ejecuto con doble clik del mouse si... :huh:

http://beto123456789.webcindario.com/BajarSolo.zip

Lo nesesito ya que estoy haciendo un scaner de virus gracias desde ya.

Pd: ejecuten el bat manualmente y vera que comienza a descargar el programa pero desde vb6 e probado de las siguintes formas y no finciona

Shell "cmd.exe /k" & p & App.Path & "\Scan\BajarSolo.bat", vbNormalFocus
Shell App.Path & "\Scan\BajarSolo.bat", vbNormalFocus

con API
Dim res As Long
res = shellExecute(Me.hwnd, "Open",App.Path & "\Scan\BajarSolo.bat ", "", "", 1)

Esto me esta volviendo loco Ayudaaaaaaa :rolleyes:

Sancho.Mazorka

Como andas amigo, tanto tiempo? ya tenes PC donde estas? Si no te acordas, fijate con el software de voz  ;)

Bueno vamos a tu problema, contame cual es el error que te da, yo cree un .bat, lo guarde en C:\ como archivo.bat despues en VB6 puse

Código (vb) [Seleccionar]
Shell ("C:\archivo.bat")

y me lo ejecuto perfectamente!


Sancho.Mazorka    :¬¬
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html



LixKeÜ

 Aca denuevo amigo jejeje  ;D. Estoy lejos de casa pero tengo una portatil con inter y todo jejeje. Bueno mirate el problema no esta en un bat comun sino en el que pongo alli para descargar el del enlace.

Ese sirve para vajar el antivirus solo de un ftp o algo asi pero cuando lo ejecuto manualmente funciona y comienza la descarga del antivirus pero cundo trato de ejecutarlo a travez del visual no me funciona ;D es muy raro.

Sancho.Mazorka

Ya encontre el error, el problema es que como ejecutas el cmd (osea la consola) desde VB, la estas llamando desde el directorio donde esta el VB o desde SYSTEM32 dependiendo de como este el programa, entonces nunca va encontrar el archivo, entonces cada ruta que tengan tus archivos van a tener que estar completas! te pongo aca escrito los 2 archivos:

BajarSolo.bat

mkdir \scan\
ftp -s:C:\comandosSolo.dat 65.98.33.169


ComandosSolo.dat

anonymous
binary
get CLNBOOT.SIG \Scan\CLNBOOT.SIG
get EMDISK.EXE \Scan\EMDISK.EXE
get LICENSE.TXT \Scan\LICENSE.TXT
get SOLODOS.SIG \Scan\SOLODOS.SIG
get SOLOLITE.EXE \Scan\SOLOLITE.EXE
get SOLOM97.SIG \Scan\SOLOM97.SIG
get SOLOMON.VXD \Scan\SOLOMON.VXD
get SOLOREP.MON \Scan\SOLOREP.MON
get SOLOSCAN.DLL \Scan\SOLOSCAN.DLL
get SOLOSRT.SIG \Scan\SOLOSRT.SIG
get SOLOWIN.SIG \Scan\SOLOWIN.SIG
get SOLOWINA.SIG \Scan\SOLOWINA.SIG
get SOLOWINB.SIG \Scan\SOLOWINB.SIG
get SOLOWINC.SIG \Scan\SOLOWINC.SIG
get SOLOWM6.SIG \Scan\SOLOWM6.SIG
get SYSCHECK.COM \Scan\SYSCHECK.COM
bye

Formulario VB

Código (vb) [Seleccionar]
Private Sub Command1_Click()
Shell ("C:\BajarSolo.bat")
End Sub


Esto funciona perfectamente, si o si tenes que declarar las direcciones, este ejemplo funciona si los 2 archivos (el .BAT y el .DAT) estan en el Disco Local C:\


Sancho.Mazorka    :¬¬
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html



LixKeÜ

gracias amigo te agregue al msn.- Voy a ver si ahora puedo hacerlo andar cualquier cosa te aviso gracias.

Tu nombre estara en los agradesimientos del scanlix 1.0 ;D

~~

Si con Shell no te funciona siempre tienes las apis ShellExecute o WinExec

Mr pom0

shell "cmd.exe /c commando del ms-dos"
la /c hace que no pida permiso al ejecutar el comando y si al final le pones
shell "cmd.exe /c commando del ms-dos",vbHide esto hace que no salga el cmd de windows