Título: Archivo .bat sincronizado con barra de estado en visual bacic.net Publicado por: FOXAR en 2 Marzo 2015, 21:08 pm hola espero y me puedan ayudar tengo un archivo .bat que me genera una copia de seguridad de mi base de datos y la ejecuto desde mi aplicación en visual bacic, lo que quiero que que me ayuden a como asociar lo que se demora ese archivo ejecutándose con una barra de estado para que el usuario sepa cuando termino la copia de seguridad. de ante mano gracias
Título: Re: Archivo .bat sincronizado con barra de estado en visual bacic.net Publicado por: engel lex en 2 Marzo 2015, 21:15 pm el comando retorna algún valor en la consola? si no sería inútil colocar un tiempo fijo porque va a cambiar según procesos tengas abiertos, tamaño de la base, etc...
Título: Re: Archivo .bat sincronizado con barra de estado en visual bacic.net Publicado por: FOXAR en 2 Marzo 2015, 21:19 pm solo crea la carpeta donde se va a guardar y luego guarda en esa ruta mas no retorna un valor
Título: Re: Archivo .bat sincronizado con barra de estado en visual bacic.net Publicado por: Eleкtro en 2 Marzo 2015, 21:20 pm Buenas
El planteamiento de la aplicación es incorrecta, ya que estás utilizando una herramienta simple de procesamiento por lotes desde un lenguaje de alto nivel. 1. Puedes hacer TODO lo que puedas hacer en Batch, utilizando puro código .Net. 2. Para implementar una barra de progreso a un proceso externo, en este caso CMD, debes utilizar técnicas de IPC (inter-process comunication) para leer el stream de salida de la CMD y tomar como referencia algún indicador que sirva para estimar el porcentaje de progresión. El caso es que formulas una duda donde está implicado un código Batch pero ni siquiera muestras el contenido del Batch-Script ¿?, Si en la consola no se muestra ningún tipo de indicador (1%...100% / 1 de 100) entonces olvídate de poder implementar una barra de progreso en tu aplicación de escritorio, a menos que no te importe utilizar una barra de progreso de estado indeterminado (sin mínimo, ni máximo). Saludos Título: Re: Archivo .bat sincronizado con barra de estado en visual bacic.net Publicado por: FOXAR en 2 Marzo 2015, 21:26 pm haaa este es .bat
Código
[MOD]: espero que me ayuden para poder sincronizarlos 1. Utiliza el botón de insertar código para insertar bloques de código. 2. Publica las preguntas sobre .Net en la sección dedicada a la programación .Net Lee las normas del foro. Título: Re: Archivo .bat sincronizado con barra de estado en visual bacic.net Publicado por: Eleкtro en 2 Marzo 2015, 22:37 pm ¿y donde está el código de VB.Net?, aquí no hacemos tareas.
Además desconocemos la salida de dicho proceso "pgdump", y se te han dado indicaciones de lo que debes hacer. De todas formas te muestro un extenso ejemplo sobre cómo traducir ese batch-script a VB.Net, y cómo leer la salida normal/error de dicho proceso, de forma asíncrona: Código
Lee un poco sobre la class Process, y técnicas de IPC en .Net. Saludos. Título: Re: Archivo .bat sincronizado con barra de estado en visual bacic.net Publicado por: FOXAR en 2 Marzo 2015, 22:50 pm guaw no tenia ni idea que eso se podía hacer de esta manera.
la verdad es que el código de vb.net que yo tengo genera la creación de ese archivo .bat recibiendo como parámetros la ruta el password el usuario el host y el nombre. y luego en otro botón ejecuto ese archivo .bat espero que me disculpes soy nuevo en este foro y agradezco mucho su ayuda muchas gracias ;-) Título: Re: Archivo .bat sincronizado con barra de estado en visual bacic.net Publicado por: Eleкtro en 2 Marzo 2015, 22:57 pm Sigue este consejo: Olvida completamente Batch, y también el uso de aplicaciones externas commandline en la medida de lo posible, jeje.
Con el ejemplo que te he mostrado, primero deberás comprobar si el formato que le dí a las cadenas es la correcta para tí, y podrás leer la salida del proceso 'pgdump.exe', ya a apartir de ahí implementar una ProgressBar es cosa tuya, por que para llevarlo a cabo se requiere leer la salida estándar del proceso (en el event-handler 'PGprocess_OutputDataReceived') y realizar las estimaciones necesarias teniendo en cuenta que dicho programa muestre algún indicador de progreso, claro está, ya sea un porcentaje o la cantidad de archivos copiados y restantes. Si el proceso no muestra ese tipo de información entonces solo puedes crear una barra de progreso con progreso indeterminado, y esperar a que el la instancia del proceso envie el evento de terminación del proceso (event-handler 'PGprocess_Exited') Código
EDITO: Se me ocurre una cosa viable, si conoces la cantidad de archivos a copiar y su ubicación, entonces podrías calcular el porcentaje de la barra de progreso leyendo los bytes totales de los archivos de origen, y los bytes que se han copiado en el directorio destino. Puedes utilizar la class FileInfo para leer el tamaño de bytes de un archivo. Saludos Título: Re: Archivo .bat sincronizado con barra de estado en visual bacic.net Publicado por: FOXAR en 2 Marzo 2015, 23:08 pm muchas gracias por tu ayuda :xD
el código que me pasaste no lo entiendo muy bn pero ya estoy tratando de comprenderlo :xD me has ayudado mucho gracias por hacer que entienda la programación de una mejor manera ;-) Título: Re: Archivo .bat sincronizado con barra de estado en visual bacic.net Publicado por: FOXAR en 2 Marzo 2015, 23:15 pm es una sola base de datos que se aloja en el servidor una ves se ejecuta el .bat genera un baku de posgresql con todas sus tablas información en las tablas funciones disparadores tigger etc. eso demora dependiendo que tan cargada este la base de datos
|