SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: monkytrox en Viernes 28 de Abril de 2006, 17:46

Título: Problemas Con Un .bat
Publicado por: monkytrox en Viernes 28 de Abril de 2006, 17:46
hola como estan ??

tengo una aplicacion que llama un .bat, la funcion de este es el traspaso de archivos (promedio de 200mb aprox) a travez de un FTP, esto funciona correctamente al ejecutar el .bat de manera individual, mi pregunta es... desde visual como puedo controlar que este preceso se complete o no, para asi yo desde visual pueda enviarme correos por una u otra respuesta, lo del correo lo tengo listo, lo que me falta es controlar si el bat se ejecuta o no de manera correcta, tener el control sobre este Bat me urgue, ya que este preceso se corre a 1:00 am y a esas horas ya no me encuentro en mi lugar de trabajo....espero me ayuden :-)

gracias

monkytrox
Título: Re: Problemas Con Un .bat
Publicado por: RadicalEd en Viernes 28 de Abril de 2006, 19:48
Utiliza el comando Shell para ejecutar un .bat
Título: Re: Problemas Con Un .bat
Publicado por: monkytrox en Viernes 28 de Abril de 2006, 21:57
hola amigo....gracias por responder....

yo lo que uso es lo siguiente...

Dim WSH as New Iwshruntimelibrary.iwshshell_class



WHS.Run = "Traspaso.bat"
Set WSH  = NOTHING


esto es lo que uso, y el llamado al .bat desde visual me funciona, lo que no se que hacer es como detectar si el.bat se ejecuta de manera satisfactoria o no, para poder asi enviarme un correo....gracias


muchas gracias de antemano

monkytrox
Título: Re: Problemas Con Un .bat
Publicado por: Angel38 en Martes 16 de Mayo de 2006, 16:51
Yo utilizo el shell execute para realizar una fusión de archivos y tampoco sabía como conocer cuando el shell se terminaba de ejecutar para poder continuar con el flujo del programa y se me ocurrio usar un timer y ponerle como condición que hasta que no exista el archivo que se crea no continúe... pienso que lo que puedes hacer es crear una archivo .txt dentro del .bat en el lugar que consideres que se ejecutó todo lo que necesitabas y luego desde tu programa verificar si este archivo existe.  No se si fui lo suficientemente claro.

este es el codigo dentro del timer.
Private Sub Timer1_Timer()
   
    If ProgressBar1.Value >= 100 And Dir("c:\yyy"+ lasttrack + ".mp3") <> "" Then
       Timer1.Enabled = False
       Unload Me
       'haz algo....
    Else
       ProgressBar1.Value = ProgressBar1.Value + 10
    End If
End Sub
:comp:
Título: Re: Problemas Con Un .bat
Publicado por: Angel38 en Martes 16 de Mayo de 2006, 16:55
Yo utilizo el shell execute para realizar una fusión de archivos y tampoco sabía como conocer cuando el shell se terminaba de ejecutar para poder continuar con el flujo del programa y se me ocurrio usar un timer y ponerle como condición que hasta que no exista el archivo que se crea no continúe... pienso que lo que puedes hacer es crear una archivo .txt dentro del .bat en el lugar que consideres que se ejecutó todo lo que necesitabas y luego desde tu programa verificar si este archivo existe.  No se si fui lo suficientemente claro.

este es el codigo dentro del timer.
Private Sub Timer1_Timer()
   
    If ProgressBar1.Value >= 100 And Dir("c:\yyy"+ lasttrack + ".mp3") <> "" Then
       Timer1.Enabled = False
       Unload Me
       'haz algo....
    Else
       ProgressBar1.Value = ProgressBar1.Value + 10
    End If
End Sub
:comp: