Ir ao conteúdo
  • Cadastre-se
fertric

Outro Executar um BAT para abrir novamente um programa quando ele for fechado

Recommended Posts

Bom dia!
De arquivos BAT eu conheço pouca coisa, mas sempre que posso dou uma pesquisada para saber como criar o que estou precisando. Desta vez, porém, não encontrei exatamente o que estava precisando.

Na minha empresa, tem um programa que gera laudos em PDF e os envia para a nuvem. Este programa deve estar aberto o tempo todo que o servidor estiver ligado, porém vez ou outra me deparo com ele fechado, seja por alguém ter fechado sem querer ou por alguma falha no próprio processo. Tentei encontrar no Agendador de Tarefas algo que me ajudasse, até cheguei a criar vários disparadores para ele se iniciar em vários momentos do dia e que não iniciasse uma nova instância caso já estivesse aberto, mas não sei o motivo, às vezes ele abria mais de uma instância de uma vez (o que causa um erro no programa nos envios dos PDFs). Então pensei em criar um BAT que iniciasse o mesmo programa assim que ele fosse fechado. Creio que para isso, o BAT teria que ficar aberto para executar sua ação, daí só colocaria uma mensagem nele informando que não seja fechado, apenas minimizado. Pensei até que poderia vincular a abertura do programa ao inicializar o PC pelo próprio BAT, daí já ficava aberto ambos logo após a inicialização, sem ter que abrir manualmente.

 

Há alguma forma de programar esse BAT para, assim que o programa fechar, ele o abra novamente?

 

Desde já agradeço!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente ajudou muito. Usei o seu código e funcionou. Depois só foi criar um script VBS para que o BAT rode em segundo plano e salvar um atalho na Inicialização.

 

Muito obrigado pela ajuda!

 

Para ajudar qualquer usuário com a mesma dúvida, segue os comandos para a criação dos aquivos:

 

Arquivo .BAT:

@ECHO OFF
:inicio
FOR /F "eol=e usebackq delims=,:" %%A IN (`TASKLIST /FI "IMAGENAME eq notepad.exe" /FO CSV /NH`) do (
  IF /I NOT %%A=="notepad.exe" notepad.exe
)
GOTO inicio

Créditos para o @isrnick .

 

Arquivo .VBS

Dim WShell
Set WShell = CreateObject("WScript.Shell")
WShell.Run "notepad.exe", 0
Set WShell = Nothing

Depois é só criar o atalho para o VBS e salvar na pasta de Inicialização do Windows.

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×