Autor Tema: Como saber cuando ha terminado lo que mande a MS-DOS  (Leído 2412 veces)

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

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Como saber cuando ha terminado lo que mande a MS-DOS
« en: Octubre 23, 2012, 03:35:47 pm »
Tengo este code que utilizo para hacer BK de mi bd MySQL. como puedo saber si ha terminado de hacer la copia. o si hay una forma que me tire un msgbox copia completa o algo asi y cerrar la ventana de Ms-DOS

Código: (VB) [Seleccionar]
Set comando1 = CreateObject("WSCript.shell")
comando1.run "cmd /K " & txtRutaMySQL.Text & " --user=root --password=xxx --port=3306 --databases control_hotel > c:\x\b\archivo.sql"
Set comando1 = Nothing
« última modificación: Octubre 23, 2012, 04:16:24 pm por E N T E R »
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Como saber cuando ha terminado lo que mande a MS-DOS
« Respuesta #1 en: Octubre 23, 2012, 03:43:13 pm »
Usá esta funcion, shellwait

ShellWait

espera a que termine :P

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Como saber cuando ha terminado lo que mande a MS-DOS
« Respuesta #2 en: Octubre 23, 2012, 04:15:55 pm »
Hice así Raul, pero no me tira ningun error y no hace el BK

Código: (VB) [Seleccionar]
Private Sub Command3_Click()
   
    MousePointer = MousePointerConstants.vbHourglass
           
    'Contenido de txtRutaMySQL.Text = C:\wamp\bin\mysql\mysql5.5.24\bin\mysqldump.exe
   
    Call ShellWait(txtRutaMySQL.Text, "--user=root --password=xxx --port=3306 --databases control_hotel > ", "c:\x\b\archivo.sql")
   
    MousePointer = MousePointerConstants.vbDefault

End Sub
« última modificación: Octubre 23, 2012, 04:17:40 pm por E N T E R »
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Como saber cuando ha terminado lo que mande a MS-DOS
« Respuesta #3 en: Octubre 23, 2012, 04:31:44 pm »
proba esta funcion shellandwait que usa openprocess, es la que mas veo en todos lados.

Shell to Another Application and Wait Until it Finishes

y como parametro le pasas todo el comando directo, ahi no estoy seguro pero para mysql yo uso algo asi:

mysqldump.exe -u root -proot basededatos -h localhost --result-file=back.sql

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Como saber cuando ha terminado lo que mande a MS-DOS
« Respuesta #4 en: Octubre 23, 2012, 05:44:22 pm »
Funciona bien ese Seba, no hay una forma que cuando termine me tire un msgbox.
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Como saber cuando ha terminado lo que mande a MS-DOS
« Respuesta #5 en: Octubre 23, 2012, 06:18:09 pm »
fijate que la funcion devuelve un boolean, si termino bien devuelve true y sino false.

asi que hace algo como

if shellandwait = true then
   msgbox "termino bien"
else
   msgbox "no funco ni mierda"
end if


saludos.

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Como saber cuando ha terminado lo que mande a MS-DOS
« Respuesta #6 en: Octubre 24, 2012, 12:03:21 am »
El problema es que estas usando mal, el tercer parametro no es donde se hará backup, y no podes hacer tipo batch que con ">" tiras el resultado a un archivo...

EL tercer parametro es la carpeta donde se ejecutará el exe