1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Executar um batch de forma cíclica

Discussão em 'Windows 7 e anteriores' iniciada por RMSoares, 23 de Maio de 2012. (Respostas: 4; Visualizações: 1602)

  1. Boas,
    No Windows 7, como é que posso executar de forma cíclica (por exemplo de minuto a minuto ou de hora a hora) um batch file ?

    O objectivo é ter um batch file que monitoriza uma determinada drive e sempre que lá coloco um ficheiro, em função do nome move o ficheiro para uma determinada directoria ou executa o ficheiro caso seja um batch file.

    Agradece-se as sugestões
     
  2. Kissol

    Kissol Power Member

    Sugiro executares o ficheiro batch via Agendador de Tarefas. Deste modo determinas a forma de execução temporal que tens em mente.
     
  3. firewalll

    firewalll Power Member

    Em batch acho que não é possível, no entanto fiz agora um pequeno programa que te poderá ajudar nessa tarefa caso não pretendas utilizar o agendador de tarefas, -> http://www.kcatch.com/public/programas/routinerun.zip , basta definir o intervalo de tempo e a localização do ficheiro e será executado consoante o intervalo especificado.

    Cumps.
     
    Última edição: 30 de Agosto de 2012
  4. Boas,
    obrigado pelas respostas.

    frewalll enviaste-me um executavel, podes enviar-me antes o codigo ?


    O Gestor de tarefas permite lançar tarefas, mas não de forma cíclica, executa apenas uma unica vez, se quiser que o processo se execute de hora a hora terei de criar 23 agendamentos.

    Estava mais a pensar num batch file para fazer isso
     
  5. firewalll

    firewalll Power Member

    Em batch em princípio não dá para fazer isso como disse acima, necessitas de algo tipo o que fiz para executar um batch de forma cíclica... Basta definires o intervalo e o nome do ficheiro, por exemplo, teste.bat e está... deixas a linha de comandos aberta e o programa vai executar o ficheiro batch consoante o intervalo especificado.

    Aceita também comandos default do cmd, tipo ipconfig, etc...

    Aqui fica o código:

    Código:
    /*       
        Elaborado por: Gabriel Conceição
        Data:           25-05-2012
        Descrição:      Programa para executar rotinas automáticas
    */
    
    #include <cstdlib>
    #include <iostream>
    #include "windows.h" 
    
    using namespace std;
    
    int main(int argc, char *argv[])
    {
        long long int min=0;
        int op=0, contar=0;
        string local;
        local="0";
        
        system("color 0a");
        cout<<"\n\tExecutar aplicacao ou ficheiro em forma de rotina";
        cout<<"\n\tGabriel Conceicao - 05-2012\n";
        
      do{
        cout<<"\n\n\tDefina o intervalo, em minutos (De 1 a 300000):";
        cin>>min;
        
        cout<<"\n\tDefina o local e nome do ficheiro executavel \n\t(Se o ficheiro se encontrar no mesmo local onde\n\t se encontra este executavel,\n\t especifique apenas o nome do ficheiro):\n\t";
        cin>>local;
        
        local="start " + local;
        cout<<local;
      
      
              while(op!=1 && local!="0" && min!=0 && min<=300000 && min>0){
                    contar++;
                    cout<<"\nA executar a rotina...";
                    system(local.c_str());
                    cout<<"\nA rotina ja foi executada "<<contar<<" vezes.\n";
                    Sleep(min*60000);
                    }
              
              cout<<"\n\tO valor do intervalo de tempo ou localizacao estao errados. \n\tTente novamente.\n\n";
               
        }while(local=="0" || min==0 || min>300000 || min<=0);
    }
    
    
    Cumps.
     
    Última edição: 9 de Junho de 2012

Partilhar esta Página