none
Agendador de tarefas não exibe prompt de comando ao executar .bat RRS feed

  • Pergunta

  • Olá pessoal estou com um problema. Fiz um .bat para desligar os computadores e criei uma tarefa agendada.

    Ao rodar o arquivo manualmente, ele funciona e abre uma janela do CMD com as opções. Já com o agendador de tarefas não, ele executa o comando e fica rodando o CMD em segundo plano, sem exibir a janela com as opções.

    Existe alguma maneira de forçar o agendador de tarefas a executar o .bat exibindo a janela do prompt?

    Obrigado!

    Segue abaixo o script:

    @echo off

    shutdown.exe -s -f -t 600

    choice /C AP /M "Pressione a tecla A para ANULAR o desligamento ou a tecla P para PROSSEGUIR."

    IF errorlevel=2 goto PROSSEGUIR
    IF errorlevel=1 goto ANULAR

    :MENSAGEM
    exit

    :ANULAR
    shutdown.exe -a
    echo.
    echo DESLIGAMENTO CANCELADO!
    echo.
    echo PRàXIMO DESLIGAMENTO OCORRERµ ·S 23H:00MIN.
    echo.
    @pause
    goto :MENSAGEM

    :PROSSEGUIR
    echo.
    echo O COMPUTADOR SERµ DESLIGADO EM BREVE.
    echo.
    echo SALVE SEUS TRABALHOS!
    echo.
    @pause
    goto :MENSAGEM


    Gilles Batista Vieira


    Gilles Batista Vieira

    segunda-feira, 23 de maio de 2016 01:32

Todas as Respostas

  • Olá.

    Acho que o seu problema não está relacionado ao script, pois manualmente ele roda como você disse.

    O problema deve estar ligado no as permissões administrativas.

    No Agendador de Tarefas, na Ação, selecione o script que irá rodar.

    Ao Concluir, abra a tarefa e clique na aba Geral e em Opções de Segurança, Clique em Alterar Usuários ou Grupo e adicione o Administrador local, marque a opção Executar com Privilégios mais altos.


    Wallison Francisco Gomes |MCP - MCDST - MCTS - MCSA - EXIN Certified Integrator Secure Cloud Services| Caso a informação seja útil, não se esqueça de pontuar!

    segunda-feira, 23 de maio de 2016 19:27
  • Olá.

    Acho que o seu problema não está relacionado ao script, pois manualmente ele roda como você disse.

    O problema deve estar ligado no as permissões administrativas.

    No Agendador de Tarefas, na Ação, selecione o script que irá rodar.

    Ao Concluir, abra a tarefa e clique na aba Geral e em Opções de Segurança, Clique em Alterar Usuários ou Grupo e adicione o Administrador local, marque a opção Executar com Privilégios mais altos.


    Wallison Francisco Gomes |MCP - MCDST - MCTS - MCSA - EXIN Certified Integrator Secure Cloud Services| Caso a informação seja útil, não se esqueça de pontuar!

    Oi Wallison. Obrigado pela resposta. Já está configurado desta maneira, inclusive o usuário que executa a tarefa é o SISTEMA, mas já tentei com o Administrador e também não funcionou. Apenas aparece o aviso de que o computador será desligado em 10min, porém o prompt não abre com as opções de cancelar ou continuar, mas reparei que o processo fica sendo executado (cmd.exe), provavelmente em segundo plano.

    Gilles Batista Vieira

    segunda-feira, 23 de maio de 2016 22:54
  • Olá.

    Que estranho, mas então você consegue rodar o .bat manualmente no usuário logado que não tem permissões administrativas?


    Wallison Francisco Gomes |MCP - MCDST - MCTS - MCSA - EXIN Certified Integrator Secure Cloud Services| Caso a informação seja útil, não se esqueça de pontuar!

    terça-feira, 24 de maio de 2016 19:06
  • Olá Gilles Batista Vieira!

    Faz um teste colocando o @pause após o comando "choice".

    Abraços.


    terça-feira, 24 de maio de 2016 19:09
  • Olá.

    Que estranho, mas então você consegue rodar o .bat manualmente no usuário logado que não tem permissões administrativas?


    Wallison Francisco Gomes |MCP - MCDST - MCTS - MCSA - EXIN Certified Integrator Secure Cloud Services| Caso a informação seja útil, não se esqueça de pontuar!

    Consigo, ele executa normalmente abrindo o cmd para escolher as opções de continuar ou cancelar.

    O problema está no agendador de tarefas, há algum bug que faz o cmd sempre executar em segundo plano.


    Gilles Batista Vieira

    quarta-feira, 1 de junho de 2016 19:46
  • Olá Gilles Batista Vieira!

    Faz um teste colocando o @pause após o comando "choice".

    Abraços.


    Tentei, também não funcionou. =/

    Gilles Batista Vieira

    quarta-feira, 1 de junho de 2016 19:46
  • Olá,

    Se vc consegue rodar a o arquivo manualmente não acredito que o seu problema seja ele senão não executaria.

    Quando você vai criar o job no agendador você tem a opção na aba "geral" que é "executar somente quando o usuário estiver conectado" o qual fica marcado como padrão. Para que a bat seja executada sem a sua intervenção deveria estar marcada a segunda opção que condiz de executar você estando conetado ou não. Se for isso agende para um determinado horário apenas para teste e veja se funciona.

    Será que este seria o teu problema?

    quarta-feira, 1 de junho de 2016 20:01
  • Olá,

    Se vc consegue rodar a o arquivo manualmente não acredito que o seu problema seja ele senão não executaria.

    Quando você vai criar o job no agendador você tem a opção na aba "geral" que é "executar somente quando o usuário estiver conectado" o qual fica marcado como padrão. Para que a bat seja executada sem a sua intervenção deveria estar marcada a segunda opção que condiz de executar você estando conetado ou não. Se for isso agende para um determinado horário apenas para teste e veja se funciona.

    Será que este seria o teu problema?

    Wildson, agradeço novamente sua atenção. Mas também já realizei este teste. Como disse, o .bat é executado pelo agendador de tarefas, tanto que aparece o aviso que o computador será desligado em 10min. Porém a janela do CMD em nenhum momento é disponibiliza, ele executa em segundo plano. Já fiz este teste em vários micros com SO Windows 10 e 7, o resultado é o mesmo.

    Gilles Batista Vieira

    quinta-feira, 2 de junho de 2016 21:54
  • Alguém conseguiu? estou com este mesmo problema. Quero ver o processo do batch porem, ele roda em segundo plano.
    segunda-feira, 16 de abril de 2018 15:11
  • Uma dúvida: A task está agendada com o mesmo usuário que está logado? Acredito que se forem diferentes não irá aparecer.

    Fábio de Paula Junior

    terça-feira, 17 de abril de 2018 21:00
    Moderador
  • Olá pessoal estou com um problema. Fiz um .bat para desligar os computadores e criei uma tarefa agendada.

    Ao rodar o arquivo manualmente, ele funciona e abre uma janela do CMD com as opções. Já com o agendador de tarefas não, ele executa o comando e fica rodando o CMD em segundo plano, sem exibir a janela com as opções.

    Existe alguma maneira de forçar o agendador de tarefas a executar o .bat exibindo a janela do prompt?

    Obrigado!

    Segue abaixo o script:

    @echo off

    shutdown.exe -s -f -t 600

    choice /C AP /M "Pressione a tecla A para ANULAR o desligamento ou a tecla P para PROSSEGUIR."

    IF errorlevel=2 goto PROSSEGUIR
    IF errorlevel=1 goto ANULAR

    :MENSAGEM
    exit

    :ANULAR
    shutdown.exe -a
    echo.
    echo DESLIGAMENTO CANCELADO!
    echo.
    echo PRàXIMO DESLIGAMENTO OCORRERµ ·S 23H:00MIN.
    echo.
    @pause
    goto :MENSAGEM

    :PROSSEGUIR
    echo.
    echo O COMPUTADOR SERµ DESLIGADO EM BREVE.
    echo.
    echo SALVE SEUS TRABALHOS!
    echo.
    @pause
    goto :MENSAGEM


    Gilles Batista Vieira


    Gilles Batista Vieira

    Cara consegui resolver este problema adicionando o caminho da pasta na aba ações > editar > Start in (opcional).

    quarta-feira, 3 de outubro de 2018 14:14
  • Olá pessoal estou com um problema. Fiz um .bat para desligar os computadores e criei uma tarefa agendada.

    Ao rodar o arquivo manualmente, ele funciona e abre uma janela do CMD com as opções. Já com o agendador de tarefas não, ele executa o comando e fica rodando o CMD em segundo plano, sem exibir a janela com as opções.

    Existe alguma maneira de forçar o agendador de tarefas a executar o .bat exibindo a janela do prompt?

    Obrigado!

    Segue abaixo o script:

    @echo off

    shutdown.exe -s -f -t 600

    choice /C AP /M "Pressione a tecla A para ANULAR o desligamento ou a tecla P para PROSSEGUIR."

    IF errorlevel=2 goto PROSSEGUIR
    IF errorlevel=1 goto ANULAR

    :MENSAGEM
    exit

    :ANULAR
    shutdown.exe -a
    echo.
    echo DESLIGAMENTO CANCELADO!
    echo.
    echo PRàXIMO DESLIGAMENTO OCORRERµ ·S 23H:00MIN.
    echo.
    @pause
    goto :MENSAGEM

    :PROSSEGUIR
    echo.
    echo O COMPUTADOR SERµ DESLIGADO EM BREVE.
    echo.
    echo SALVE SEUS TRABALHOS!
    echo.
    @pause
    goto :MENSAGEM


    Gilles Batista Vieira


    Gilles Batista Vieira

    Cara consegui resolver este problema adicionando o caminho da pasta na aba ações > editar > Start in (opcional).

    Estou com o mesmo problema, fiz esse procedimento (Cara consegui resolver este problema adicionando o caminho da pasta na aba ações > editar > Start in (opcional).) mas não deu, o agendador executa a tarefa mas não abre a janela do CMD para interagir. Tenho um .bat que faz um copia e depois pergunta se deseja excluir os arquivos, e pelo agendador de tarefa não está abrindo. Alguma outra dica ?

    Obrigado!

    quarta-feira, 17 de outubro de 2018 13:03
  • RESOLVIDO.

    Consegui resolver criando a tarefa através (Criar Tarefa Básica...) com o assistente, desta forma abriu a janela com o prompt quando executada.

    Criando a tarefa pelo (Criar Tarefa...) sem o assistente a tarefa executa mas não abre o prompt do cmd.

    quarta-feira, 17 de outubro de 2018 13:18
  • RESOLVIDO.

    Consegui resolver criando a tarefa através (Criar Tarefa Básica...) com o assistente, desta forma abriu a janela com o prompt quando executada.

    Criando a tarefa pelo (Criar Tarefa...) sem o assistente a tarefa executa mas não abre o prompt do cmd.

    Perfeito giovani. Estava com o mesmo problema e depois de ler seu post, consegui resolver exatamente da maneira indicada por você. Valeu!!
    terça-feira, 19 de março de 2019 14:18
  • Valeu...

    Fiz o procedimento de criar tarefa básica e funcionou. 

    Windows sendo windows.... aff

    quarta-feira, 28 de outubro de 2020 04:04