• Martes 14 de Mayo de 2024, 09:09

Autor Tema:  Problemas Con Un .bat  (Leído 1489 veces)

monkytrox

  • Miembro activo
  • **
  • Mensajes: 42
    • Ver Perfil
Problemas Con Un .bat
« en: Viernes 28 de Abril de 2006, 17:46 »
0
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

RadicalEd

  • Moderador
  • ******
  • Mensajes: 2430
  • Nacionalidad: co
    • Ver Perfil
Re: Problemas Con Un .bat
« Respuesta #1 en: Viernes 28 de Abril de 2006, 19:48 »
0
Utiliza el comando Shell para ejecutar un .bat
El pasado son solo recuerdos, el futuro son solo sueños

monkytrox

  • Miembro activo
  • **
  • Mensajes: 42
    • Ver Perfil
Re: Problemas Con Un .bat
« Respuesta #2 en: Viernes 28 de Abril de 2006, 21:57 »
0
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

Angel38

  • Miembro MUY activo
  • ***
  • Mensajes: 370
    • Ver Perfil
Re: Problemas Con Un .bat
« Respuesta #3 en: Martes 16 de Mayo de 2006, 16:51 »
0
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:
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.

Angel38

  • Miembro MUY activo
  • ***
  • Mensajes: 370
    • Ver Perfil
Re: Problemas Con Un .bat
« Respuesta #4 en: Martes 16 de Mayo de 2006, 16:55 »
0
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:
[size=109]Se me olvidó instalar los Drivers de Cordura en mi Cerebro.