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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  ejecutar sincronamente un archivo bat
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: ejecutar sincronamente un archivo bat  (Leído 5,592 veces)
CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
ejecutar sincronamente un archivo bat
« en: 28 Septiembre 2006, 18:30 pm »

Hola, estyo haciendo un programa en el que utilizo algunos archivos .bat, los mando llamar con la instruccion Shell, pero los ajecuta asincronamente

Shell App.Path & "\respaldo.bat", vbNormalFocus


hay alguna manera de hacer que mi programa espere hasta que el archivo bat termine su ejecución??


En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
Snort


Desconectado Desconectado

Mensajes: 338



Ver Perfil
Re: ejecutar sincronamente un archivo bat
« Respuesta #1 en: 28 Septiembre 2006, 20:45 pm »

   Seguramente no, lo veo difil vamos alomejor con alguna api de estas raras... no creo, pero si el archivo .bat no interacciona con el usuario siempre puedes ponerle un timer antes de abrir el siguiente .bat


En línea

BenRu
The Prodigy


Desconectado Desconectado

Mensajes: 4.006


Ver Perfil
Re: ejecutar sincronamente un archivo bat
« Respuesta #2 en: 28 Septiembre 2006, 20:57 pm »

Una forma sencilla es poner un timer o sleep.

Tambien puedes hacer que cuando termine el batch, este cambie la barra de titulo...y vb al detectar que la barra de titulo de la ventana es "Batch terminado", pues pasa a la siguiente accion  ;)
En línea

Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.166


Cheats y Trainers para todos!


Ver Perfil WWW
Re: ejecutar sincronamente un archivo bat
« Respuesta #3 en: 28 Septiembre 2006, 23:40 pm »

La pregunta es... ¿no puedes poner las instrucciones que hace el bat dentro del propio programa?

Cuentanos un poco más tu caso a ver si encontramos otra alternativa ;)
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: ejecutar sincronamente un archivo bat
« Respuesta #4 en: 28 Septiembre 2006, 23:50 pm »

la verdad es que el bat lo que hace es comrimir un archivo, no se como hacerlo desde VB por eso opte por hacer un bat que se encargara de eso

El archivo bat contiene lo siguiente:

@Echo off
c:\archiv~1\winzip\winzip32.exe -a -r C:\DOCUME~1\ocelaya\MISDOC~1\INDICA~1\Respaldo28092006.zip C:\DOCUME~1\ocelaya\MISDOC~1\INDICA~1\Respaldo28092006.bak


se que se puede hacer en VB pero no se como
En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
BenRu
The Prodigy


Desconectado Desconectado

Mensajes: 4.006


Ver Perfil
Re: ejecutar sincronamente un archivo bat
« Respuesta #5 en: 29 Septiembre 2006, 00:05 am »

Se hace con Shell()

Shell("C:\calc.exe")

Pd: No hace falta que utilices @echo off, ni exit.
En línea

CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: ejecutar sincronamente un archivo bat
« Respuesta #6 en: 30 Septiembre 2006, 16:04 pm »

 :huh: el problema de la instrucción shell es que ejecuta el archivo en forma asincrona y lo que necesito es esperar a que termine de comprimir el archivo para poder continuar
En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: ejecutar sincronamente un archivo bat
« Respuesta #7 en: 3 Octubre 2006, 21:25 pm »

me comentaron que hay una dll, que hace eso, alguien sabe cual es?
En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
<--v1c1ous-->


Desconectado Desconectado

Mensajes: 776


¡Operadora! ¡Deme el número para el 911! - Homero


Ver Perfil WWW
Re: ejecutar sincronamente un archivo bat
« Respuesta #8 en: 3 Octubre 2006, 21:44 pm »

Claro que existe.
Acordate que cualquier *.bat ejecuta desde una consola de DOS :).
Por Ejemplo en WinXP el batch ejecuta junto el el cmd.

Uso Pausa porque el sleep es horrendo, con pausa puedo seguir tranquilamente con otras funciones sin problemas, hace una pausa a la siguiente linea pero solo dentro de la funcion.

Citar
'PROCESOS
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long, ByVal bInheritHandle As Long, ByVal dwProcessId As Long) As Long
Private Declare Function GetExitCodeProcess Lib "kernel32" (ByVal hProcess As Long, lpExitCode As Long) As Long
'PAUSA
Private Declare Function GetTickCount Lib "Kernel32.dll" () As Long

Const STILL_ACTIVE = &H103
Const PROCESS_QUERY_INFORMATION = &H400

'FUNCION DE SLEEP PARA ESPERAR UNOS MILISEGUNDOS
Sub Pausa(HowLong As Long)
    Dim u%, tick As Long
    tick = GetTickCount()
    Do
      u% = DoEvents
    Loop Until tick + HowLong < GetTickCount
End Sub

Y aca la funcion en concreto:

Citar
Function ExeEspera(COMANDO as String)
    Dim hProcess As Long
    Dim RetVal As Long
    hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, False, Shell(COMANDO, vbMinimizedNoFocus))
    Do
        GetExitCodeProcess hProcess, RetVal
        DoEvents
        Pausa 100
    Loop While RetVal = STILL_ACTIVE
End Function
En línea


CeLaYa


Desconectado Desconectado

Mensajes: 543



Ver Perfil
Re: ejecutar sincronamente un archivo bat
« Respuesta #9 en: 3 Octubre 2006, 21:58 pm »

ya lo probe y funciono muy bien, GRACIAS!!!!!
En línea

"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿ejecutar un archivo .com en windows7 x64??
Dudas Generales
fenomeno92 2 6,214 Último mensaje 18 Abril 2011, 10:13 am
por fenomeno92
ejecutar archivo php
GNU/Linux
Daklon 2 3,110 Último mensaje 29 Julio 2013, 23:02 pm
por Daklon
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines