Abrir y cerrar un programa con un .bat ?

91.729 16
 #1
Escrito   0  0  
Hola señores...volvemos con las clases de bat xD

A ver quien me puede ayudar emoticon sonrisa


Tengo un programa ( "C:\Program Files\OrionToCSH\OrionToCSH.exe" ) que actúa mas bien como un servicio.

Se queda en segundo plano ejecutándose y hace su trabajo.

El problema es que a veces se cierra sin mas :S

Entonces se me ocurrió crear un .bat que se ejecute al inicio y cada X minutos (digamos cada 60 miuntos) se ejecute.

Me gustaría que el .bat cierre el proceso pause 3 segundos y vuelva a arrancarlo,así me evitaría eso cierres imprevistos y le daría cierta funcionalidad a los equipos,sin tener que estar pendiente de si este se cierra solo o no.


De momento tengo lo siguiente:

@echo off
taskkill /F /im OrionToCSH.exe
pause 3
"C:\Program Files\OrionToCSH\OrionToCSH.exe"



Lo que ocurre es que esto me abre una ventana DOS diciendome que pulse una tecla para continuar.



Es decir,se ejecuta (abre la ventana DOS) , cierra el programa OrionToCSH.exe y en la ventana DOS se queda "Press any key to continue".

Me gustaría evitar que se mostrara la ventana DOS y que sin preguntar nada pasara del cierre a la apertura del programa en automatico,pasados por ejemplo 2 o 3 segundos. (para estar seguro que no se solapa el cierre con la apertura y falle).

Al abrirse el OrionToCSH también muestra la ventana del programa,si de alguna forma pudiera evitar eso también sería un puntazo,así para el usuario este "reincio" de programa sería totalmente transparente.


Alguien me ayuda?

El 80% del script está hechoo,le falta algún parametro emoticon guiño


AYUDADME emoticon sonrisaemoticon sonrisa

Incansable y alegre soñador emoticon sonrisa

Ordenador: Intel i7 4790, 16Gb RAM,480Gb SSD, nVidia 970,
Movil: iPhone 8
Moto: Ducati Monster 821
 #2
Escrito   0  0  
quote:
Originalmente escrito por tjuanma1
Hola señores...volvemos con las clases de bat xD
A ver quien me puede ayudar emoticon sonrisa
Tengo un programa ( "C:\Program Files\OrionToCSH\OrionToCSH.exe" ) que actúa mas bien como un servicio.
Se queda en segundo plano ejecutándose y hace su trabajo.
El problema es que a veces se cierra sin mas :S
Entonces se me ocurrió crear un .bat que se ejecute al inicio y cada X minutos (digamos cada 60 miuntos) se ejecute.
Me gustaría que el .bat cierre el proceso pause 3 segundos y vuelva a arrancarlo,así me evitaría eso cierres imprevistos y le daría cierta funcionalidad a los equipos,sin tener que estar pendiente de si este se cierra solo o no.
De momento tengo lo siguiente:
@echo off
taskkill /F /im OrionToCSH.exe
pause 3
"C:\Program Files\OrionToCSH\OrionToCSH.exe"
Lo que ocurre es que esto me abre una ventana DOS diciendome que pulse una tecla para continuar.
Es decir,se ejecuta (abre la ventana DOS) , cierra el programa OrionToCSH.exe y en la ventana DOS se queda "Press any key to continue".
Me gustaría evitar que se mostrara la ventana DOS y que sin preguntar nada pasara del cierre a la apertura del programa en automatico,pasados por ejemplo 2 o 3 segundos. (para estar seguro que no se solapa el cierre con la apertura y falle).
Al abrirse el OrionToCSH también muestra la ventana del programa,si de alguna forma pudiera evitar eso también sería un puntazo,así para el usuario este "reincio" de programa sería totalmente transparente.
Alguien me ayuda?
El 80% del script está hechoo,le falta algún parametro emoticon guiño
AYUDADME emoticon sonrisaemoticon sonrisa



Hola, buenas tardes,
a ver si me acuerdo... hace taaaaanto tiempo jejeje

El comando pause va a esperar si o si a que presiones una tecla para continuar por lo que yo probaría a eliminarlo.
Aunque le pongas el parámetro 3, no va a esperar 3 segundos, sólo espera a que presiones una tecla.
Como mucho, si lo quieres poner, se puede eliminar el mensaje de "Press any key to continue" poniendo:
pause>nul

Luego para que salga de la ventana del DOS, deberías añadir el comando exit al final del código.

Por último, la imagen de inicio del programa en cuestión debería ser mostrada/ocultada con opciones del propio programa, no creo que con comandos se pueda eliminar. O a lo cutre eliminando el archivo de imagen que corresponda.

Un saludo.

 #3
Escrito (Editado )  0  0  
Hola, efectivamente, pause te va a pedir la pulsación de una tecla si o si.

Hay un truco que consiste en hacer un ping con tiempo de espera (parámetro -w) en milisegundos:

ping 127.0.0.1 -n 1 -w 3000 >NUL

El 3000 son milisegundos, es decir, 3 segundos.

Es lo mas sencillo y efectivo.
 #4
Escrito   0  0  
Otra opcion sería ejecutar taskkill con el comando start, que incluye el parámetro /wait (Inicia la aplicación y espera a que finalice)

La ayuda de start la obtienes escribiendo "help start" desde la ventana de comandos.

[b]Huawei Mate 9/b]
.
El mundo se hizo al contrario de mi imagen y mi semejanza.
.
@topacopepe en el twitter
 #5
Escrito (Editado )  0  0  
Hola buenas,

Te serviria un ejecutable que tu lo tendrias que ejecutar con una tarea programada de windows cada x horas??

El programa hace lo que pides, cierra el proceso lo vuelve a abrir y te lo abre oculto (osea que no te mostraria la pantalla de tu programa cuando se inicia). y no se muestra ninguna pantalla. xD

Si te interesa te lo paso y lo pruebas.

Saludos.

Tratos OK : txanflin, iyuste, djgomina, tomateja, bombones, fernandet1, larmovil, 77913650, Budgett
 #6
Escrito   0  0  
¿Sobre que SO lo vas a ejecutar? ....

Se puede convertir el .exe en un servicio de Windows y en las propiedades del servicio, ponerle que se reinicie si se para 1 vez, o 2 o multiples, o que reinicie el PC, etc, etc ...

Salu2

Los éxitos son efímeros.
Los fracasos, eternos.

Valencia
 #7
Escrito   0  0  
En un WIndows XP 64Bits emoticon sonrisa

Incansable y alegre soñador emoticon sonrisa

Ordenador: Intel i7 4790, 16Gb RAM,480Gb SSD, nVidia 970,
Movil: iPhone 8
Moto: Ducati Monster 821
 #8
Escrito   0  0  
En SO de 32 bits lo he hecho siguiendo ....

http://support.microsoft.com/kb/137890

Salu2

Los éxitos son efímeros.
Los fracasos, eternos.

Valencia
 #9
Escrito   0  0  
No me fio,ya que no me puedo permitir que falle....:S

Es imprescindible que cierre el proceso antes de abrirlo nuevamente (por si se está ejecutando) ya que sinó aparecerá un cartel que dice: El programa se está ya ejecutando".

Ayudita please!

Incansable y alegre soñador emoticon sonrisa

Ordenador: Intel i7 4790, 16Gb RAM,480Gb SSD, nVidia 970,
Movil: iPhone 8
Moto: Ducati Monster 821
 #10
Escrito   0  0  
Hola buenas,

el programa que te he pasado ya hace eso, cierra el proceso y a los 3 segundos lo vuelve a abrir, lo unico que tendrias que hacer es ejecutarlo con una tarea programada de windows.

Un saludo.

Tratos OK : txanflin, iyuste, djgomina, tomateja, bombones, fernandet1, larmovil, 77913650, Budgett
Volver a Informática